只介绍刷题时用到的方法,不是数据结构学习
Map
HashMap
- put()/get()/getOrDefault()
读写操作,读操作可设默认值
getOrDefault常用于计数,也可以使用数组代替
- containsKey()
判断是否存在某个键值对,常用于去重、保存最新值
- remove()
删除某键值对
- 遍历
for (Map.Entry<Object, Object> entry: map.entrySet()) {
Object key = entry.getKey();
Object value = entry.getValue();
}
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
}
map.forEach((k, v) -> {
});
Set
HashSet
- add(Object)
返回true添加成功,返回false添加失败。
set是无重复元素的集合,可以通过返回值代替contains方法
- contains()
- remove(Object)
TreeSet
- ceiling()
TreeSet本身是一个有序集合,ceiling传入一个元素可以返回第一个大于参数元素的集合元素。在部分题目中优先级队列需要频繁操作集合元素性能差可以考虑TreeSet