/*
1、add方法的参数类型是Object,以便于接收任意类型对象。
2、集合中存储的都是对象的引用(地址)
迭代器其实就是集合取出元素的方式
把取出方式定义在集合内部,这样取出方式就可以直接访问集合内部元素。
那么取出方式也就被定义成了内部类。
而每一个容器的数据结构不同,所以取出的动作细节也不一样,但是都具有共性内容。
那么这些内部类都符合一个规则,该规则是Iterator。
通过一个对外提供的方法iterator()获取集合的取出对象。
*/
import java.util.ArrayList;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
base_method();
System.out.println();
base_method2();
System.out.println();
method_get();
}
public static <E> void method_get(){
ArrayList al=new ArrayList();
al.add("java01");
al.add("java02");
al.add("java03");
al.add("java04");
/*
Iterator<E> it=al.iterator(); //获取迭代器,用于取出集合中的元素
while(it.hasNext()) //如果有元素就返回true
{
sop(it.next());
}*/
//另一种方式
for(Iterator it=al.iterator();it.hasNext();)
{
sop(it.next());
}
}
public static void base_method2()
{
ArrayList al1=new ArrayList();
al1.add("java01");
al1.add("java02");
al1.add("java03");
al1.add("java04");
ArrayList al2=new ArrayList();
al2.add("java01");
al2.add("java02");
al2.add("java05");
al2.add("java06");
//al1.retainAll(al2); //取交集,al1中只会保留与al2中相同的内容,即交集存放在al1中
al1.removeAll(al2); //去除al1中与al2中相同的元素,也就是保留al1中独有的元素
sop("al1:"+al1);
sop("al2"+al2);
}
public static void base_method(){
//创建一个集合容器,使用Collection接口的子类。ArrayList
ArrayList al=new ArrayList();
//1、添加元素
al.add("java01");
al.add("java02");
al.add("java03");
al.add("java04");
//打印集合
sop("原集合为:"+al); //元素会自动放到一个[]内
//2、获取个数,集合长度
sop("集合的长度为:"+al.size());
//3、删除元素
al.remove("java02");
//al.clear(); //清空集合
sop("删除元素后的集合为:"+al);
//4、判断元素
sop("java03是否存在:"+al.contains("java03"));
sop("集合是否为空:"+al.isEmpty());
}
public static void sop(Object obj){
System.out.println(obj);
}
}
结果图:
之前学java的时候,貌似一点也没接触过集合,感觉有点陌生。