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