Java集合框架支持两种类型容器:
- 一种是为了存储一个元素的合集,为Collection
- 一种是为了存储键/值对,为Mapping
Collection包含
- Set存储不重复的元素
- List存储一个有序元素合集
- Stack存储采用后进先出方式处理的对象
- Queue存储采用先进先出方式处理的对象
- Priority Queue存储优先级顺序处理的对象
Collection接口是一切合集的根接口,它继承了Iterable接口生成一个Iterator对象用于遍历元素,它为这些合集定义了通用的操作
Collection接口的方法
- add(E):boolean
- addAll(Collection<? extends E>):boolean
- clear():void
- contains(Object):boolean
- containsAll(Collection<?>):boolean
- equals(Object):boolean
- hashCode():int
- isEmpty():boolean
- iterator():Iterator
- remove(Object):boolean
- removeAll(Collection<?>):boolean
- removeIf(Predicate<? super E>):boolean
- retainAll(Collection<?>):boolean
- size():int
- 等
AbstractCollection抽象类提供了Collect接口的部分实现
- boolean isEmpty()
- boolean contains(Object)
- Object[] toArray()
- boolean remove(Object)
- boolean containsAll(Collection<?>)
- boolean addAll(Collection<? extends E>)
- boolean removeAll(Collection<?>)
- void clear()
- 等
List存储一个有序元素合集
Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象
Queue是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作
Map将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值
Map接口中的方法
- clear():void
- containsKey(Object):boolean
- containsValue(Object):boolean
- entrySet():Set<Map.Entry<K, V>>
- equals(Object):boolean
- get(Object):V
- getOrDefault(Object, V):V
- hashCode():int
- isEmpty():boolean
- keySet():Set
- put(K, V):V
- putAll(Map<? extends K, ? extends V>):void
- remove(Object):V
- remove(Object, Object):boolean
- replace(K, V):V
- replace(K, V, V):boolean
- replaceAll(BiFunction<? super K, ? super V, ? extends V>):void
- size():int
- values():Collection
AbstractMap是抽象类,实现了entrySet()之外的所有方法