Java容器---Collection接口中的共有方法
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() 迭代器:具备着迭代功能的对象。 |
1 public class CollectionDemo { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 8 9 Collection coll = new ArrayList(); 10 // methodDemo(coll); 11 12 13 methodAllDemo(); 14 } 15 16 /* 17 * 演示带All的方法。 18 */ 19 public static void methodAllDemo(){ 20 21 //1,创建两个容器。 22 Collection c1 = new ArrayList(); 23 Collection c2 = new ArrayList(); 24 25 26 //2,添加元素。 27 c1.add("abc1"); 28 c1.add("abc2"); 29 c1.add("abc3"); 30 c1.add("abc4"); 31 32 c2.add("abc22"); 33 c2.add("abc33"); 34 c2.add("abc5"); 35 36 37 //往c1中添加c2. 38 // c1.addAll(c2); 39 40 //判断c1中是否包含c2中的所有元素。 41 // boolean b = c1.containsAll(c2); 42 // System.out.println("b="+b); 43 44 //从c1中删除c2. 45 // c1.removeAll(c2);//将c1中和c2相同的元素从c1中删除。 46 47 c1.retainAll(c2);//将c1中和c2不同的元素从c1中删除。保留c1中和c2相同的元素。 48 System.out.println(c1); 49 50 } 51 52 /* 53 * 演示Collection中的基本功能。 54 */ 55 public static void methodDemo(Collection coll){ 56 57 //1,添加元素。 58 coll.add("abc1"); 59 coll.add("abc2"); 60 coll.add("abc3"); 61 62 //2,删除。 63 // coll.remove("abc2");会改变集合的长度。 64 65 //3,清除。 66 // coll.clear(); 67 68 //4,包含。 69 System.out.println("contains:"+coll.contains("abc1")); 70 71 System.out.println(coll); 72 73 } 74 75 } 76
2018-01-04
内容来自传智播客和java编程思想