Java-08常用容器
List
-
接口:
java.util.List<>。 -
实现:
java.util.ArrayList<>:变长数组java.util.LinkedList<>:双链表
-
函数:
add():在末尾添加一个元素clear():清空size():返回长度isEmpty():是否为空get(i):获取第i个元素set(i, val):将第i个元素设置为val
栈
-
类:
java.util.Stack<> -
函数:
push():压入元素pop():弹出栈顶元素,并返回栈顶元素peek():返回栈顶元素size():返回长度empty():栈是否为空clear():清空
队列
-
接口:
java.util.Queue<> -
实现:
java.util.LinkedList<>:双链表java.util.PriorityQueue<>:优先队列- 默认是小根堆,大根堆写法:
new PriorityQueue<>(Collections.reverseOrder())
-
函数:
add():在队尾添加元素remove():删除并返回队头isEmpty():是否为空size():返回长度peek():返回队头clear():清空
Set
-
接口:
java.util.Set<K> -
实现:
java.util.HashSet<K>:哈希表java.util.TreeSet<K>:平衡树
-
函数:
add():添加元素contains():是否包含某个元素remove():删除元素size():返回元素数isEmpty():是否为空clear():清空
-
java.util.TreeSet多的函数:ceiling(key):返回大于等于key的最小元素,不存在则返回nullfloor(key):返回小于等于key的最大元素,不存在则返回null
Map
-
接口:
java.util.Map<K, V> -
实现:
java.util.HashMap<K, V>:哈希表java.util.TreeMap<K, V>:平衡树
-
函数:
put(key, value):添加关键字和其对应的值get(key):返回关键字对应的值containsKey(key):是否包含关键字remove(key):删除关键字size():返回元素数isEmpty():是否为空clear():清空entrySet():获取Map中的所有对象的集合Map.Entry<K, V>:Map中的对象类型getKey():获取关键字getValue():获取值
-
java.util.TreeMap<K, V>多的函数:ceilingEntry(key):返回大于等于key的最小元素,不存在则返回nullfloorEntry(key):返回小于等于key的最大元素,不存在则返回null
类似推断
List -----> list
Queue ----> queue
PriorityQueue ---> priority_queue
Stack ----> stack
TreeSet ----> set
HashSet ----> unordered_set
TreeMap ----> map
HashMap ----> unordered_map