
List接口:可以存放重複内容;
set接口:不能存放重複内容,重複内容依靠hashcode和equal兩個方法來區分;
Queue:隊列;
SortedSet接口:對集合中的資料進行排序;
List子類:ArrayList,Vector
ArrayList和Vector的差別:
LinedList 連結清單的操作類
Queue接口是Collection的子接口
Set接口是collection接口的子接口,但是和Collection或者List接口不同的是:set不能加入重複元素。
set的主要方法同Collection一緻
Set接口的執行個體無法像List接口那樣進行雙向輸出
Set子類:
散列存放:HashSet
有序存放:TreeSet
Set是無序的,List是按照存放順序進行排序的。
對象排序必須實作Commparable接口,在commpareTo方法裡面對對象資料進行排序
Iteartor
ListIterator
foreach輸出
Enumeration輸出
注意:在使用集合輸出的時候必須形成如下思路,隻要是碰到集合資料的操作,就一定使用Iterator接口
Iterator接口的操作原理:
Interator是專門的疊代輸出接口,所謂的疊代輸出就是将元素一個個進行判斷,判斷是否有内容,如果有取出來。
疊代器标準寫法:
疊代删除元素:
注意點:
List接口存在删除方法:remove
如果在使用輸出的過程中使用list的remove執行删除,會出現問題。
在使用Iterator輸出的時候,不要使用集合類裡面的remove方法,隻能使用疊代器裡面的remove方法。
Iterator的子接口;Iterator主要是實作從前到後的單項輸出,如果實作從後到前或者從前到後的雙向輸出,就要使用子接口ListIterator
注意:隻有List接口才存在ListIterator接口的執行個體化操作。
先進行向前才能進行向後操作。
Collection和Map的差別:
Collection的操作是一個對象,map是一對對象,key-->value形式進行存儲
Map的子類:
HashMap:無序存放,新的操作類,key不能重複
HashTable,無序存儲,舊的操作類,key不允許重複
TreeMap:可以排序的map集合,按照集合中的key進行排序,key不允許重複。
WeakHashMap:弱引用Map集合,當集合中否寫内容不再使用時候,可以清除掉無用的資料,并使用gc回收。
IdentityHashMap,key可以重複的Map集合。
HashMap和HashTable的差別:
Map接口輸出:
順序如下:
使用foresh輸出:
如果希望key可以重複可以使用IdentityHashMap
SortedMap
SortedSet是TreeSet的實作接口
SortedMap是TreeMap的實作,是可以排序的map
提供集合類相關的幫助方法:
emptyList()
emptySet()
addAll()
replayAll()
棧是先進後出的資料結構進行存儲的,新的元素壓在舊的元素上面;
Stack是Vector的子類
push入棧
pop出棧