集合—collection、iterator遍历集合
作者:互联网
一、collection接口
1.collection常用方法
点击查看代码
@Test
public void test(){
//contains()
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
Person p = new Person("jerry", 23);
coll.add(p);
coll.add(new Person("twq", 23));
//1.contains(Object obj):判断当前集合中是否包含obj
//我们在判断时会调用obj对象所在类的equals()方法
boolean contains = coll.contains(123);
System.out.println(contains);
System.out.println(coll.contains(new String("Tom")));//判断的是内容而不是地址
System.out.println(coll.contains(p));
System.out.println(coll.contains(new Person("twq", 23)));
System.out.println("===================");
//2.containsAll(Collection call1):判断形参coll1中的所有元素是否都存在与当前集合中
Collection coll1 = Arrays.asList(123,456);
System.out.println(coll.containsAll(coll1));//判断coll中是否包含coll1
System.out.println("===================");
//3.remove(Object obj):从当前集合中移除obj元素
coll.remove(1234);
System.out.println(coll);
coll.remove(new Person("twq", 23));
System.out.println(coll);
System.out.println("===================");
//4.removeAll(Collection coll1):从当前集合中移除coll1中的所有的元素
Collection coll2 = Arrays.asList(123,456);
coll.removeAll(coll2);
System.out.println(coll);
System.out.println("===================");
//5.retainAll(collection coll1) 交集:获取当前集合和coll1集合的交集
Collection coll3 = Arrays.asList(false,"Tom");
coll.retainAll(coll3);
System.out.println(coll);
System.out.println("===================");
//6.equals(Object obj):要想返回true需要判断当前集合和形参集合的元素都相同
Collection coll4 = new ArrayList();
coll4.add(123);
coll4.add(456);
coll4.add(new String("Tom"));
coll4.add(false);
Collection coll5 = new ArrayList();
coll5.add(123);
coll5.add(456);
coll5.add(new String("Tom"));
coll5.add(false);
System.out.println(coll4.equals(coll5));
System.out.println("==================");
//7.hashCode():返回当前对象的哈希值
System.out.println(coll.hashCode());
System.out.println("==================");
//8.集合--->数组的转换:toArray()
Object[] arr = coll.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("==================");
//拓展:数组--->集合:调用Arrays类的静态方法asList()
List<String> list = Arrays.asList(new String[]{"AA", "DD", "CC"});
System.out.println(list);
List<int[]> ints = Arrays.asList(new int[]{123, 456});
System.out.println(ints.size());//虽然有两个元素,但是会默认为一个元素
List ints1 = Arrays.asList(new Integer[]{123, 456});
System.out.println(ints1.size());//这里可以正常输出
System.out.println("==================");
}
二、iterator集合元素遍历
1.遍历方法
点击查看代码
public void test1(){
//iterator():返回
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
Iterator iterator = coll.iterator();
while(iterator.hasNext()){//判断集合中是否还有元素
System.out.println(iterator.next());
}
}
2.iterator中remove方法的使用
点击查看代码
@Test
public void test2(){
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
Iterator iterator = coll.iterator();
while(iterator.hasNext()){
Object obj = iterator.next();
if(obj.equals("Tom")){
iterator.remove();
}
}
//这里必须重新定义一个迭代器变量,之前的迭代器变量已经指向了集合的末尾
//新定义的迭代器变量指针默认指向集合的初始位置
Iterator iterator1 = coll.iterator();
while(iterator1.hasNext()){//判断集合中是否还有元素
System.out.println(iterator1.next());
}
}
运行结果图
标签:iterator,System,collection,println,coll,add,集合,new,out 来源: https://www.cnblogs.com/twq46/p/16468657.html