如图:
1)ArrayList
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo {
public static void main(String[] args) {
Collection coll=new ArrayList();//内存当中有一个容器
show(coll);
}
public static void show(Collection coll){
/*
* 1,添加元素 add
*/
coll.add("abc1");
coll.add("abc2");
coll.add("abc3");
System.out.println(coll);
}
}
2)boolean b = c1.containsAll(c2) //b是否包含c中的所有元素
import java.util.ArrayList;
import java.util.Collection;
public class C21 {
public static void main(String[] args) {
Collection c1 = new ArrayList();
Collection c2 = new ArrayList();
show(c1, c2);
}
public static void show(Collection c1, Collection c2) {
//给c1添加元素
c1.add("abc1");
c1.add("abc2");
c1.add("abc3");
c1.add("abc4");
//给c2添加元素
c2.add("abc2");
boolean b = c1.containsAll(c2); //当
System.out.println("containsAll:" + b);
}
}
需注意,如果b=[abc,ef], d=[a],则System.out.println(“containsAll:” + b)的输出值为false,因为b中的有两个元素,abc,ef;d中有一个元素a。
3)iterator方法
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class IteratorDemo {
public static void main(String[] args) {
Collection coll=new ArrayList();
coll.add("abcd1");
coll.add("abcd2");
coll.add("abcd3");
coll.add("abcd4");
System.out.println(coll);
//使用了Collection中的iterator方法,调用集合中的迭代器方法,是为了获取集合中的迭代器对象
Iterator it =coll.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
/* System.out.println(it.next());//取到第一个元素
System.out.println(it.next());//取到第二个元素
System.out.println(it.next());//取到第三个元素
System.out.println(it.next());*/
}
}
输出如下图:
,其中
(循环结束后it还可以用)
Iterator it =coll.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
也可以写成(最好写成这样,但是(循环结束后it不可以用))
for(Iterator it=coll.iterator();it.hasNext(); ){
System.out.println(it.next());
contains与containsALL的区别
1, arrayList的contains方法比较是否包含元素的时候,调用的是 对象的equals方法,也就是说如果对象没有重写equals方法,那么其实比较的事堆中的地址是否相等了。
补充:
List
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListDemo {
public static void main(String[] args) {
List list = new ArrayList();
// show(list);
list.add("abc1");
list.add("abc2");
list.add("abc3");
ListIterator it = list.listIterator();//获取列表迭代器对象
//它可以在迭代过程中完成对元素的增删改查
//注意,只有list集合具备该迭代功能
while (it.hasNext()) {
Object obj = it.next();
if (obj.equals("abc2")) {
it.set("abc9");
}
}System.out.println("list:" + list);
/*Iterator it=list.iterator();//迭代过程
while(it.hasNext()){
Object obj=it.next();//java.util.ConcurrentModificationException
//在迭代过程中,不要使用集合操作元素,容易出现异常
//可以使用Iterator接口的子接口ListIterator来完成迭代中对元素进行更多的操作
if(obj.equals("abc2")){
list.add("abc9");//集合操作元素
}
else
System.out.println("next:"+obj);
}
System.out.println("next"+it.next());
}*/
/*
public static void show(List list) {
//给c1添加元素
list.add("abc1");
list.add("abc2");
list.add("abc3");
Iterator it=list.iterator();
while(it.hasNext()){
System.out.println("next"+it.next());
}
//list特有的取出元素的方法之一。
for(int x=0;x<list.size();x++){
System.out.println("get"+list.get(x));
}
}*/
}
}