1.Collection 接口
(1)Collection的超级接口是Iterable (2)Collection常用的子对象有:Map、List、Set、Queue。 右图中实现黑框的ArrayList、LinkedList、HashSet、HashMap是常用的具体对象。注:实际类图与右图存在一些差异。 Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。(面向接口的编程思想) |
2.Collection 常用方法
(1)添加 |
boolean add(Object obj);一次添加一个。 |
(2)删除 |
void clear(); |
(3)获取长度 | int size() |
(4)判断 |
boolean isEmpty():是否为空 |
(5)将集合转成数组 |
toArray(); |
(6)取出集合元素 |
Iterator iterator() 迭代器:具备着迭代功能的对象。 |
public class CollectionDemo { /** * @param args */ public static void main(String[] args) { Collection coll = new ArrayList(); // methodDemo(coll); methodAllDemo(); } /* * 演示带All的方法。 */ public static void methodAllDemo(){ //1,创建两个容器。 Collection c1 = new ArrayList(); Collection c2 = new ArrayList(); //2,添加元素。 c1.add("abc1"); c1.add("abc2"); c1.add("abc3"); c1.add("abc4"); c2.add("abc22"); c2.add("abc33"); c2.add("abc5"); //往c1中添加c2. // c1.addAll(c2); //判断c1中是否包含c2中的所有元素。 // boolean b = c1.containsAll(c2); // System.out.println("b="+b); //从c1中删除c2. // c1.removeAll(c2);//将c1中和c2相同的元素从c1中删除。 c1.retainAll(c2);//将c1中和c2不同的元素从c1中删除。保留c1中和c2相同的元素。 System.out.println(c1); } /* * 演示Collection中的基本功能。 */ public static void methodDemo(Collection coll){ //1,添加元素。 coll.add("abc1"); coll.add("abc2"); coll.add("abc3"); //2,删除。 // coll.remove("abc2");会改变集合的长度。 //3,清除。 // coll.clear(); //4,包含。 System.out.println("contains:"+coll.contains("abc1")); System.out.println(coll); } }
2018-01-04
内容来自传智播客和java编程思想