1 package com.common.api; 2 import java.util.*; 3 /* 4 * 集合类: 5 * 1、集合类出现的原因:用来存储对象 6 * 2、数组与集合的不同: 7 * 1)数组是固定长度,集合是可变长度 8 * 2)数组只能存贮一种类型,集合可以存储多种类型 9 * 3、集合的特点: 10 * 1)集合用于存储对象,集合长度可变,集合可以存储不同类型的对象 11 * 12 * 集合框架 13 * 1、集合框架类的结构: 14 * collections 15 * |-------List 16 * | |------ArrayList 17 * | |------LinkedList 18 * | |------Vector 19 * |-------Set 20 * | |--------HashSet 21 * | |--------TreeSet 22 * 2、为什么会出现这么多的容器? 23 * 因为每个容器对数据的存储方式都有不同,这个存储方式成为数据结构 24 * 25 * Collection共性接口 26 * boolean add(E e) 27 * boolean addAll(Collection<? extends E> c) 28 * void clear() 29 * boolean remove(Object o) 30 * boolean removeAll(Collection<?> c) 31 * boolean contains(Object o) 32 * boolean containsAll(Collection<?> c) 33 * boolean isEmpty() 34 * Object[] toArray() 35 * int size() 36 * Iterator<E> iterator() 37 * 38 * 迭代器:其实就是集合的取出元素的方式 39 * 40 * 41 */ 42 public class CollectionDemo { 43 public static void sop(Object obj) 44 { 45 System.out.println(obj); 46 } 47 48 public static void method_base() 49 { 50 ArrayList a=new ArrayList(); 51 52 //1、添加元素 53 a.add("java01"); 54 a.add("java02"); 55 a.add("java03"); 56 a.add("java04"); 57 58 //2.获取个数,集合长度 59 sop("a.size()= "+a.size()); 60 61 sop("a="+a); 62 63 //删除元素 64 a.remove("java02"); 65 66 sop("a.size()= "+a.size()); 67 sop("a="+a); 68 69 //清空集合 70 a.clear(); 71 72 sop("a.size()= "+a.size()); 73 sop("a="+a); 74 75 //判断集合 76 sop(a.isEmpty()); 77 sop(a.contains("java01")); 78 a.add("java01"); 79 a.add("java02"); 80 a.add("java03"); 81 a.add("java04"); 82 sop(a.isEmpty()); 83 sop(a.contains("java01")); 84 } 85 86 public static void method_2() 87 { 88 ArrayList a1=new ArrayList(); 89 //1、添加元素 90 a1.add("java01"); 91 a1.add("java02"); 92 a1.add("java03"); 93 a1.add("java04"); 94 95 ArrayList a2=new ArrayList(); 96 //1、添加元素 97 a2.add("java01"); 98 a2.add("java02"); 99 a2.add("java05"); 100 a2.add("java06"); 101 //取交集 102 a1.retainAll(a2); 103 sop("a1="+a1); 104 sop("a2="+a2); 105 //恢复a1的原始状态 106 a1.add("java03"); 107 a1.add("java04"); 108 109 //removeall 110 a1.removeAll(a2); 111 sop("a1="+a1); 112 sop("a2="+a2); 113 114 } 115 116 public static void method_get() 117 { 118 ArrayList a1=new ArrayList(); 119 //1、添加元素 120 a1.add("java01"); 121 a1.add("java02"); 122 a1.add("java03"); 123 a1.add("java04"); 124 125 Iterator it=a1.iterator();//获取迭代器,用于取出集合中的元素 126 while(it.hasNext()) 127 { 128 sop(it.next()); 129 } 130 131 for(Iterator it1=a1.iterator();it1.hasNext();) 132 { 133 sop(it1.next()); 134 } 135 } 136 public static void main(String[] args) { 137 // 创建一个集合容器,使用collection接口的一个子类,ArrayList 138 method_base(); 139 140 method_2(); 141 142 method_get(); 143 144 } 145 }
执行结果为:
a.size()= 4 a=[java01, java02, java03, java04] a.size()= 3 a=[java01, java03, java04] a.size()= 0 a=[] true false false true a1=[java01, java02] a2=[java01, java02, java05, java06] a1=[java03, java04] a2=[java01, java02, java05, java06] java01 java02 java03 java04 java01 java02 java03 java04