面嚮對象語言對事物的描述都是以對象的形式。可是要對多個對象操做就涉及要對對象進行存儲。而java提供的Array存儲又具備一些弊端(後續介紹),因此java集合就應運而生了。能夠把多個對象的引用放入到一個容器中。那麼存儲多個對象能夠有如下兩種方式java
Student[] =student =new Student[20];
Student[0]=new Student();
複製代碼
以上可看出數組存儲對象的弊端是長度不可變,一旦初始化長度指定爲20 之後都是這個固定長度 仍是真實存儲個數不可知的弊端,你沒法獲知數組內真正存了多少元素數組
ArrayList arrayList= new ArrayList();
arrayList.add("AA");
arrayList.add("BB");
arrayList.size();
複製代碼
以ArrayList爲例 能夠同size方法調用便可知道存放了多少元素bash
以上爲集合框架的結構圖 主要分爲兩類Collection 和Map框架
Collection collection= new ArrayList();
collection.add("AA");//給集合添加子元素
collection.size();//返回集合元素個數
Collection col= Arrays.asList(1,2,3);
collection.addAll(col);//添加指定集合的全部元素
collection.contains("AA");//判斷是否包含某個元素 (當添加自定義對象 自定義對象須要重寫equals方法)
collection.contains("AA");//判斷是否包含某個元素
collection.containsAll(col); //判斷指定集合的全部元素是否都在該集合中
collection.retainAll(col); //取兩個集合的交集
collection.remove("AA");//刪除一個元素
collection.removeAll(col);//刪除指定集合中全部元素
collection.equals(col);//判斷兩個集合中元素是否相同
collection.hashCode();//計算哈希值
collection.toArray();//將集合轉化爲數組
collection.add("BB");
collection.add("CC");
Iterator iterator= collection.iterator();//返回一個iterator接口實現類的對象
System.out.println(collection);
while (iterator.hasNext()){
System.out.println(iterator.next());
}
複製代碼
Map map =new HashMap();
map.put("a","AA");//新增
map.get("a");//獲取
map.remove("a");//刪除
複製代碼
至此集合的大體框架結構已經講完了,後續將實現類ArrayList HashMap等進行分析,欲聽後續如何,且聽下回分解!ide