Java 常用容器

Java 常用容器

写在前面

Java在算法比赛中经常用到一些容器类,类比C++,下面的这些容器及其实现需要我们常记,不管是在算法竞赛中还是在开发中,都有使用需求,需要牢记掌握

一、 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<T>

实现:

java.util.HashSet<T> // 哈希表
java.util.TreeSet<T> // 平衡树

函数:

add() // 添加元素
contains() // 是否包含某个元素
remove() // 删除元素
size() // 返回元素数
isEmpty() // 是否为空
clear() // 清空

java.util.TreeSet中多的函数:

ceiling(key) // 返回大于等于key的最小元素,不存在则返回null
floor(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的最小元素,不存在则返回null
floorEntry(key)// 返回小于等于key的最大元素,不存在则返回null


Java 常用容器
http://example.com/2023/02/24/Java-common-container/
Author
hell
Posted on
February 24, 2023
Licensed under