集合概述
- 集合的特点:无序、不重复
- 作用:① 检查某一个元素是否存在 ② 检验重复元素
- Java 封装好的 HashSet
集合的四种操作
- 访问 Access ×
- 搜索 Search 时间复杂度 O(1)
如果考虑哈希碰撞,时间复杂度为 O(k),其中 k 为碰撞元素的个数 - 插入 Insert 时间复杂度 O(1)
如果考虑哈希碰撞,时间复杂度为 O(k),其中 k 为碰撞元素的个数
- 删除 Remove 时间复杂度 O(1)
如果考虑哈希碰撞,时间复杂度为 O(k),其中 k 为碰撞元素的个数
集合实际的常用操作(Java)
创建集合
//Create HashSet
HashSet<Integer> set = new HashSet<>();
添加元素
//Add element
//Time Complexity:O(1)
set.add(10);
set.add(3);
set.add(5);
set.add(2);
set.add(2);
//[10,3,5,2]
System.out.println(set.toString());
搜索元素
//Search element
//Time Complexity:O(1)
set.contains(2);
删除元素
//Delete element
//Time Complexity:O(1)
set.remove(2);
//[10,3,5]
System.out.println(set.toString());
长度
//Size
set.size();
LeetCode练习
#217
#705
参考:https://www.bilibili.com/read/cv8825859?spm_id_from=333.788.b_636f6d6d656e74.30