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,不需要关心具体怎么实现的循环遍历。