为什么会出现这么多的容器呢?
因为每一个容器对数据的存储方式都不同。这个存储方式称之为:数据结构。
-------------------------------------------------------------
共性方法:(以ArrayList为例)
import java.util.*;
/*
1.add方法的参数是Object,以便于接收任意类型对象
2.集合中存储的都是对象的引用(地址)
什么是迭代器呢?
其实就是集合的取出元素的方式
*/
class CollectionDemo{
public static void main(String[] args){
//base_method();
method_2();
}
public static void base_method(){
ArrayList al = new ArrayList();
//1.添加元素
al.add("java1");
al.add("java2");
al.add("java3");
al.add("java4");
//打印原集合
sop("原集合:"+al);
//2.获取个数,集合长度
sop("size:"+al.size());
//3.删除元素
//al.remove("java2");
//al.clear();//清空集合
//4.判断元素
sop("java3是否存在:"+al.contains("java3"));
sop("集合是否为空?:"+al.isEmpty());
//打印改变后的集合
sop(al);
}
public static void method_2(){
ArrayList al1 = new ArrayList();
al1.add("java1");
al1.add("java2");
al1.add("java3");
al1.add("java4");
ArrayList al2 = new ArrayList();
al2.add("java1");
al2.add("java2");
al2.add("java5");
al2.add("java6");
al1.retainAll(al2);//取交集,al1中只会保留al1与al2交集的元素
//al1.removeAll(al2);//去交集,al1中只会保留除了al1与al2交集的元素
sop("al1:"+al1);
sop("al2L"+al2);
}
public static void method_get(){//取出元素,并不是单纯的打印,而是取出并操作
ArrayList al1 = new ArrayList();
al1.add("java1");
al1.add("java2");
al1.add("java3");
al1.add("java4");
Iterator it = al1.iterator();//获取迭代器,用于取出集合中的元素
sop(hasNext());//当有元素的时候,返回true
sop(it.next());//打印java1
sop(it.next());//打印java2
}
public static void sop(Object obj){
System.out.println(obj);
}
}
-------------------------------------------------
Iterator(迭代器)接口的由来: