java.util包中提供了一些列容器相關的接口和類。
接口有:
1 Collection:
2 Set:繼承自Collection接口,元素排列無序,不能重複
3 List:繼承自Collection接口,元素排列有序,可以重複
4 Map:不繼承自Collection接口,通過key-value形式存儲元素,鍵值不可以重複
5 Iterator:周遊使用的接口
類:
1 Collections類:提供很多關于Set,List,Map的操作的靜态方法,如
sort:排序(升序)
shuffle:排序(随機)
reverse:排序(逆序)
2 實作Set接口的類:TreeSet,HashSet
3 實作List接口的類:ArrayList,LinkedList
3 實作Map接口的類:TreeMap,HashMap
一般來說,對于容器的兩種操作:周遊和修改,Arrayxxx用于周遊,Linkedxxx用于修改,Hashxxx介于兩者之間。
Collection接口中定義的方法:
1 size()方法
2 isEmpty()方法:是否有元素
3 contains(Object obj):判斷是否含有指定元素,使用equals方法比較。是以是否實作了equals()方法很重要。
4 toArray():轉換為數組
5 add(Object obj):追加元素
6 remove(Object obj):删除指定元素,使用equals方法比較。
7 containsAll(Collection col):判斷是否包含另外一個容器的所有元素,使用equals方法比較。
8 removeAll():删除所有元素
9 addAll(Collection col):追加另外一個容器的所有元素
10 retainAll(Collection col):裝載自己容器和指定容器的交集
11 clear():清除
12 equals()
13 iterator():傳回疊代器
Map接口:
定義的方法:
1 size()
2 isEmpty()
3 containsKey(Object obj):判斷是否存在指定key的元素
4 containsValue(Object obj):判斷是否存在指定value的元素
5 get(Object obj):按照指定key取得元素
6 remove(Object obj):删除指定key取得元素
7 putAll(Map map):将另一個Map的所有元素放到目前Map中
8 clear():清空
9 put(Object key, Object value):放置指定key-value的元素,該方法傳回一個Object類型,表示如果Map中已經存在了制定了key的元素,那麼進行替換,并且将原來的元素傳回。
Iterator接口:
方法包括:
1 hasNext():判斷遊标右邊是否有元素
2 Next():取得遊标右邊的元素,并且将遊标右移一個位置
3 remove():周遊的時候,删除目前元素,注意,與Collecion接口的remove的差別
對于所有實作了Collecion接口的類來說,都提供了循環周遊的方式,我們在使用的時候,統一使用他們共同的接口就ok,不需要關心具體怎麼實作的循環周遊。