Collection方法
1~13
@Test
public void test1(){
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
coll.add(new Person("Jerry",20));
// 1.contains(Object obj):判断当前集合中是否包含obj
// 我们在判断时会调用obj对象所在类的equals()
boolean contains = coll.contains(123);
System.out.println(contains); // true
System.out.println(coll.contains("Tom")); // true
System.out.println(coll.contains(new Person("Jerry",20))); // Person类中没重写equals()时为:false;重写equals()后为true
// 2.containsAll(Collection coll1):判断形参coll1中的所有元素是否都存在于当前集合中。
Collection coll1 = Arrays.asList(123,456);
boolean b = coll.containsAll(coll1);
System.out.println(b); // true
}
@Test
public void test2(){
// 3.remove(Object obj):从当前集合中移除obj元素。
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
coll.add(new Person("Jerry",20));
coll.remove(123);
System.out.println(coll); // [456, Tom, false, Person{name='Jerry', age=20}]
coll.remove(new Person("Jerry",20));
System.out.println(coll); // [456, Tom, false]
// 4.removeAll(Collection coll1):差集:从当前集合中移除coll1中所有的元素
Collection coll1 = Arrays.asList(123,456);
coll.removeAll(coll1);
System.out.println(coll); // [Tom, false]
}
@Test
public void test3(){
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
coll.add(new Person("Jerry",20));
// 5.retainAll(Collection coll1):交集:获取当前集合和coll1集合的交集,并返回给当前集合
/*Collection coll1 = Arrays.asList(123,456,789);
coll.retainAll(coll1);
System.out.println(coll); // [123, 456]*/
// 6.equals(Object obj):要想返回true,需要当前集合和形参集合的元素都相同。
Collection coll1 = new ArrayList();
coll1.add(123);
coll1.add(456);
coll1.add(new String("Tom"));
coll1.add(false);
coll1.add(new Person("Jerry",20));
System.out.println(coll1.equals(coll)); // true
}
@Test
public void test4(){
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
coll.add(new Person("Jerry",20));
// 7.hashCode():返回当前对象的哈希值
System.out.println(coll.hashCode()); // ****
// 8.toArray():集合 ---> 数组
Object[] arr = coll.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
/* 数组 ---> 集合 : 调用Arrays的静态方法:asList() */
List<String> list = Arrays.asList(new String[]{"AA", "BB", "CC"});
System.out.println(list); // [AA, BB, CC]
List arr1 = Arrays.asList(new int[]{123,456}); // (此处asList中的对象视为一个整体)
System.out.println(arr1.size()); // 1
List arr2 = Arrays.asList(new Integer[]{123,456});
System.out.println(arr2); // [123, 456]
List arr3 = Arrays.asList(1,2,3);
System.out.println(arr3); // [1, 2, 3]
}
@Test
public void test1(){
Collection coll = new ArrayList();
// 9.add(Object e):将元素e添加到集合coll中
coll.add("AA");
coll.add("BB");
coll.add(123);// 自动装箱
coll.add(new Date());
// 10.size():获取添加的元素的个数
System.out.println(coll.size());
// 11.addAll(Collection coll1):将coll1集合中的元素添加到当前的集合中
Collection coll1 = new ArrayList();
coll1.add(456);
coll1.add("CC");
coll.addAll(coll1);
System.out.println(coll.size());
System.out.println(coll);
// 12.clear():清空集合元素
coll.clear();
// 13.isEmpty():判断当前集合是否为空
System.out.println(coll.isEmpty());
}
14.Iterator
/*
集合元素的遍历操作,使用迭代器Iterator接口
1.内部的方法:hasNext() 和 next()
2.集合对象每次调用iterator()方法都会得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前。
3.内部定义了remove(),可以在遍历的时候,删除集合中的元素。此方法不同于集合直接调用remove()
*/
@Test
public void test1(){
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
coll.add(new Person("Jerry",20));
Iterator iterator = coll.iterator();
// 方式一:
// System.out.println(iterator.next());
// System.out.println(iterator.next());
// System.out.println(iterator.next());
// System.out.println(iterator.next());
// System.out.println(iterator.next());
// // 报异常:NoSuchElementException
// System.out.println(iterator.next());
// 方式二:不推荐
// for (int i = 0; i < coll.size(); i++) {
// System.out.println(iterator.next());
// }
// 方式三:推荐
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
@Test
public void test2(){
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
coll.add(new Person("Jerry",20));
Iterator iterator = coll.iterator();
// 错误方式一:
// while ((iterator.next()) != null){
// System.out.println(iterator.next());
// }
// 错误方式二:
// while (coll.iterator().hasNext()){
// System.out.println(coll.iterator().next());
// }
}
// 测试Iterator中的remove()标签:add,接口,System,coll,Collection,println,new,声明,out From: https://www.cnblogs.com/jiaxing-java/p/16972469.html
// 如果还未调用next()或在上一次调用next方法之后已经调用了remove方法,
// 再调用remove都会报IllegalStateException
@Test
public void test3(){
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
coll.add(new Person("Jerry",20));
// 删除集合中“Tom”
Iterator iterator = coll.iterator();
while (iterator.hasNext()){
Object obj = iterator.next();
if ("Tom".equals(obj)){
iterator.remove();
}
}
// 遍历集合
iterator = coll.iterator(); // 重新获取集合中的元素
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}