集合概述

  • 集合的特点:无序、不重复
  • 作用:① 检查某一个元素是否存在 ② 检验重复元素
  • Java 封装好的 HashSet

9_Java集合


集合的四种操作

  • 访问 Access ×
  • 搜索 Search 时间复杂度 O(1)
    如果考虑哈希碰撞,时间复杂度为 O(k),其中 k 为碰撞元素的个数
  • 插入 Insert 时间复杂度 O(1)

如果考虑哈希碰撞,时间复杂度为 O(k),其中 k 为碰撞元素的个数

  • 删除 Remove 时间复杂度 O(1)
    如果考虑哈希碰撞,时间复杂度为 O(k),其中 k 为碰撞元素的个数

集合实际的常用操作(Java)

  • 创建集合

    1. //Create HashSet
    2. HashSet<Integer> set = new HashSet<>();
  • 添加元素

    1. //Add element
    2. //Time Complexity:O(1)
    3. set.add(10);
    4. set.add(3);
    5. set.add(5);
    6. set.add(2);
    7. set.add(2);
    8. //[10,3,5,2]
    9. System.out.println(set.toString());
  • 搜索元素

    1. //Search element
    2. //Time Complexity:O(1)
    3. set.contains(2);
  • 删除元素

    1. //Delete element
    2. //Time Complexity:O(1)
    3. set.remove(2);
    4. //[10,3,5]
    5. System.out.println(set.toString());
  • 长度

    1. //Size
    2. set.size();

LeetCode练习

#217

#705


参考:https://www.bilibili.com/read/cv8825859?spm_id_from=333.788.b_636f6d6d656e74.30