import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/*Collection是一个集合,他是所有单接口集合的父类
* 集合:
- 1.集合的长度是可以改变的,而数组的长度是固定的
- 2.集合是用来存取对象的容器,对象也就是集合里的元素
- 3.集合不能存储基本数据类型
Collection集合的常用方法
-
增加元素:这个很重要
-
boolean add(E e);E指的就是Object类,为的就是什么类型的对象都可以作为元素添加到集合里面
-
boolean addAll(Collection coll);添加的参数是集合,将参数集合中的所有元素添加到调用该方法的集合中
-
删除元素:
-
boolean remove(E e);删除该集合中指定的元素
-
boolean removeAll(Collection coll或者 E e);
-
void clean();清空该集合里的所有元素
-
判断:
-
boolean contains(E e);判断该集合是否包含该元素
-
boolean containsAll(Collection coll);
-
boolean isEmpty();//判断该集合是否为空
-
获取: 这个最重要
-
int size();集合中有多少个元素
-
Iterator iterator();迭代器,也是用来取元素的
-
注意:Iterator 是接口,调用该方法的集合返回的是一个Iterator接口类型的
-
Iterator接口的方法有,通常取元素用的也是该接口的方法 :
-
boolean hasNext(); 如果仍有元素可以迭代,则返回 true。
-
boolean next();返回迭代的下一个元素。
-
其他:
-
boolean retainAll(Collection coll);取交集
-
Object toArray();将集合转成数组
-
*/
public class CollectionDemo {public static void main(String[] args) {
// TODO Auto-generated method stub
//方法演示:
ArrayList coll1= new ArrayList();
ArrayList coll2 = new ArrayList();
//添加方法:
coll1.add(“abc1”);
coll1.add(“abc2”);
coll1.add(“abc3”);
coll1.add(“abc4”);
// System.out.println(coll1);
//结果为:[abc1, abc2, abc3, abc4]
coll2.add(“abc2”);
coll2.add(“abc6”);
coll2.add(“abc7”);
coll2.add(“abc8”);
// coll1.addAll(coll2);
// System.out.println(coll1);
//结果为:[abc1, abc2, abc3, abc4, abc2, abc6, abc7, abc8]
//删除方法:
// coll1.remove(“abc1”);
// System.out.println(coll1);
//结果为:[abc2, abc3, abc4]
// coll1.removeAll(coll1);
// System.out.println(coll1);
//结果为:[]
// coll1.removeAll(coll2);如果实参写的是集合,那么就是删除两个集合相同的元素
// System.out.println(coll1);
//结果为:[abc1, abc3, abc4]
//判断:
// System.out.println(coll1.contains(“abc1”));
//结果为:true
// System.out.println(coll1.containsAll(coll2));//判断两个集合中的元素是否 全部 相同
//结果为:flase
//获取:
ArrayList coll3 = new ArrayList();
coll3.add(“abc1”);
coll3.add(“abc2”);
coll3.add(“abc3”);
coll3.add(“abc4”);
Iterator it = coll3.iterator();
//接口不能直接创建对象,所以:
//为什么要这样写?因为你如果想要调用Iterator接口中的方法取元素,你就只能利用接口调用coll3.iserator()方法来返回
while(it.hasNext())//判断该集合中还有没有元素
{
System.out.println(it.next());//挨个取出集合中的元素
/*结果:
abc1
abc2
abc3
abc4
*/
}
//其他:
coll1.retainAll(coll2);
System.out.println(coll1);
//结果:[abc2]
//如果一个集合调用retainAll(Collection coll)方法
//保留两个集合相同的元素,删除两个集合不同的元素
//而removeAll(Collection coll)方法是
//删除两个集合中相同的元素,保留不同的元素!
}
}