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