contains:包含
public static void main(String[] args) {
Collection coll = new ArrayList();
//show(coll);
Collection c1 = new ArrayList();
Collection c2 = new ArrayList();
show(c1,c2);
}
public static void show(Collection c1,Collection c2) {
c1.add("a1");
c1.add("a2");
c1.add("a3");
c1.add("a4");
c2.add("a2");
c2.add("a5");
c2.add("a6");
System.out.println("c1"+c1);
System.out.println("c2"+c2);
//将c2中的元素添加到c1中
//c1.addAll(c2);
//将c1中和c2重复的元素去除
//boolean b = c1.removeAll(c2);
//System.out.println("removeAll "+b);
//c2中的元素在c1中是否全部都有
//boolean b = c1.containsAll(c2);
//System.out.println("containsAll "+b);
//取c1和c2中共同的元素
boolean b = c1.retainAll(c2);
System.out.println("retainAll "+b);
System.out.println("c1"+c1);
}
public static void show(Collection coll) {
coll.add("abc1");
coll.add("abc2");
coll.add("abc3");
System.out.println(coll);
//删除remove
coll.remove("abc2");
System.out.println(coll);
}
}
集合框架迭代器使用:
public static void main(String[] args) {
Collection coll = new ArrayList();
coll.add("abc1");
coll.add("abc2");
coll.add("abc3");
coll.add("abc4");
//第一种取出方式 java一般使用这个,可以减少内存
for(Iterator it = coll.iterator();it.hasNext();) {
System.out.println(it.next());
}
//第二种写法
// Iterator it = coll.iterator();
// while(it.hasNext()) {
// System.out.println(it.next());
// }
}
}
public static void main(String[] args) {
List list = new ArrayList();
list.add("abc1");
list.add("abc2");
list.add("abc3");
list.add("abc4");
ListIterator it = list.listIterator();//获取列表迭代器对象
//它可以实现在迭代过程中对元素的增删改查
//注意只有list集合具备该迭代功能
while(it.hasNext()) {
Object obj = it.next();
if(obj.equals("abc2")) {
it.add("adc6");
}
}
System.out.println("list"+list);
}
}
List常用子类的特点:
1.vector:内部是数组的数据结构。同步的。100%增长。增删查询很慢。
2.ArrayList:内部是数组数据结构,不同步。(替代了Vector)50%增长,查询速度快。
3.LinkedList:内部是链表数据结构,是不同步的。增删元素的速度非常快。