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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值