第十一課 集合類Collection和Map
集合類
面向對象語言對事物的體現都是以對象的形式,所以為了方便對多個對象的操作,就對對象進行存儲,集合就是存儲對象最常用的方式。
數組和集合類都是容器,他們有什麽不同?
數組雖然也可以存儲對象,但長度是固定的;集合的長度是可變的,數組中可以存儲基本數據類型,集合只能存儲對象。
集合類的特點:
集合只用於存儲對象,集合長度是可變的,集合可以存儲不同類型的對象。
註意:每一個容器的存儲方式都有不同,這個存儲方式稱之為:數據結構
一、Collection
ArrayList list = new ArrayList();
//添加元素
list.add("day01");
list.add("day02");
list.add("day03");
list.add("day04");
//刪除元素day01
list.remove("day01");
//清空集合
list.clear();
//判斷元素
list.contains("day02");//判斷list集合裏面是否存在day02;
list.isEmpty();//判斷集合是否為空
//獲取集合的長度,個數
list.size();
ArrayList list1 = new ArrayList();
list1.add("day02");
list1.add("day03");
list1.add("day04");
list1.add("day05");
list.retainAll(list1);//取兩個集合的交集,list裏面只保留交集。
//叠代器:
Iterator it = list1.iterator();
syso(it.next());// 返回一個元素,從第一個元素開始返回
while(it.hasNext()){//獲取叠代器,取出集合裏面的元素
syso(it.next());//循環打印出所有元素 }
什麽是叠代器?
其實就是集合的取出元素的方式;我們把取出的方式定義在集合的內部,這樣我們取出方式就可以直接訪問集合內部的元素。
那麽取出方式就被定義成了內部類;而每一個容器的數據結構不同,所以取出的動作細節也不一樣,但是都有共性內容判斷和取出。
那麽刻意將這些共性抽取。(這些內部類都符合規則,該規則是Iterator。通過對外提供的方法:iterator())
Collection中常見的兩個接口List 和 Set
List:元素是有序的,元素可以重復,因為該元素有索引。
凡是可以操作角標的方法都是該體系的特有方法。
第十一課 集合類Collection和Map