Java集合框架(Collection、Map)提供了一套性能优良、使用方便的接口和类,位于java.util包中。
1 List
接口:java.util.List<E>
实现类:
java.util.ArrayList<E>
:变长数组java.util.LinkedList<E>
:双链表
常用方法:
boolean add(E e)
:在末尾添加一个元素E get(int index)
:获取指定位置的元素E set(int index, E e)
:修改指定位置的元素(返回旧元素)int size()
:获取长度(元素数)boolean isEmpty()
:判空void clear()
:清空
2 栈
类:java.util.Stack<E>
常用方法:
void push(E e)
:压入元素E pop()
:弹出并返回栈顶元素E peek()
:返回栈顶元素int size()
:获取长度boolean isEmpty()
:判空void clear()
:清空
3 队列
接口:java.util.Queue<E>
实现类:
java.util.LinkedList<E>
:双链表java.util.PriorityQueue<E>
:优先队列,默认为小根堆- 大根堆:
new PriorityQueue<E>(Collections.reverseOrder())
- 大根堆:
常用方法:
boolean add(E e)
:在队尾添加一个元素E remove()
:删除并返回队头E peek()
:返回队头int size()
:获取长度boolean isEmpty()
:判空void clear()
:清空
4 Set
接口:java.util.Set<K>
实现类:
java.util.HashSet<K>
:哈希表java.util.TreeSet<K>
:平衡树
常用方法:
boolean add(K key)
:添加元素(若已存在则无法添加,返回false)boolean contains(Object key)
:判断是否包含某个元素boolean remove(Object key)
:删除元素int size()
:获取长度boolean isEmpty()
:判空void clear()
:清空
TreeSet特有方法:
K ceiling(K key)
:返回大于等于指定元素的最小元素,不存在则返回空K floor(K key)
:返回小于等于指定元素的最小元素,不存在则返回空K higher(K key)
:">
"K lower(K key)
:"<
"
5 Map
接口:java.util.Map<K, V>
实现:
java.util.HashMap<K, V>
:哈希表java.util.TreeMap<K, V>
:平衡树
常用方法:
V put(K key, V value)
:添加关键字及其对应的值(返回空或被覆盖的旧值)V get(Object key)
:返回关键字对应的值,不存在则返回空V getOrDefault(Object key, V defaultValue)
:返回关键字对应的值,不存在则返回默认值boolean containsKey(Object key)
:判断是否包含关键字boolean remove(Object key)
:删除关键字int size()
:获取长度boolean isEmpty()
:判空void clear()
:清空Set<Map.Entry<K, V>> entrySet()
:获取Map中所有键值对的集合
键值对(Map.Entry<K, V>
)常用方法:
K getKey()
:获取关键字V getValue()
:获取值
TreeMap特有方法:
Map.Entry<K,V> ceilingEntry(K key)
:返回关键字大于等于指定关键字的最小元素,不存在则返回空Map.Entry<K,V> floorEntry(K key)
:返回关键字小于等于指定关键字的最小元素,不存在则返回空- ……