天天看點

了解java.util包--容器相關

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,不需要關心具體怎麼實作的循環周遊。

繼續閱讀