Set接口下的常用集合总结

Set接口

HashSet(集合类)

创建方式

  • new HashSet()

存储结构

  • 采用哈希(HashMap)进行存储,以一种“散列”的方式进行存储

方法

  • 添加元素

    • 当前集合.add(指定元素)

      • 功能:将指定元素添加至当前集合
    • 当前集合.addAll(另一个集合)

      • 功能:将另一个集合对象添加至当前集合中
  • 删除元素

    • 当前集合.clear()

      • 功能:清除当前集合中的所有元素
    • 当前集合.remove(指定元素)

      • 功能:删除当前集合中的指定元素
    • 当前集合.removeAll(需要删除的元素集合)

      • 功能:对当前集合中的元素按照需要删除的元素集合进行批量删除
  • 查找元素

    • 当前集合.comtains(指定元素)

      • 功能:在当前集合中查找是否含有指定元素
    • 当前集合.isEmpty()

      • 功能:判断当前集合是否为空
    • 当前集合.size()

      • 功能哥:获取当前集合的长度
  • 克隆

    • 当前集合.clone()

      • 功能:快速的对当前集合进行克隆
  • 迭代器

    • 当前集合.iterator()

      • 功能:迭代器用于获取当前集合中的每一个元素

        • it.hasNext()

          • 判断元素是否存在
        • it.next()

          • 获取到该元素
  • 转换

    • 当前集合.toString()

      • 功能:将当前集合转换为字符串
    • 当前集合.toArray()

      • 功能:将当前集合转换程Object类型的数组
    • 当前集合.toArray(new String[int])

      • 功能:将当前集合转换为指定类型指定长度的数组

方法特点

  • 每个方法都没有加入Synchronized关键字
  • 线程不安全

LinkHashSet(集合类)

创建方式

  • new LinkedHashSet();

存储方式

  • 采用哈希表(HashMap)进行存储,额外采用类似“链表”的方式保存当前元素的存入顺序

    • 有序,元素不重复

方法

  • 添加元素

    • 当前集合.add(指定元素)

      • 功能:将指定元素添加至当前集合中,若当前集合已存在指定元素,则返回false
    • 当前集合.add(另一个集合对象)

      • 功能:将另一个集合对象中的元素添加至当前集合中
  • 删除元素

    • 当前集合.clear()

      • 功能:清除当前集合中的所有元素
    • 当前集合.remove(指定元素)

      • 功能:删除当前集合中的指定元素
    • 当前集合.removeAll(删除的元素集合)

      • 功能:将当前集合中的元素按照删除的元素集合进行批量删除
  • 查找元素

    • 当前集合.contains(指定元素)

      • 功能:在当前集合中查找是否含有指定元素
    • 当前集合.size()

      • 功能哥:获取当前集合的长度
    • 当前集合.isEmpty()

      • 功能:判断当前集合是否为空
  • 转换

    • 当前集合.toString()

      • 功能:将当前集合转换为字符串
    • 当前集合.toArray()

      • 功能:将当前集合转换程Object类型的数组
    • 当前集合.toArray(new String[int])

      • 功能:将当前集合转换为指定类型指定长度的数组
  • 克隆

    • 当前集合.clone()

      • 功能:快速的对当前集合进行克隆
  • 迭代器

    • 当前集合.iterator()

      • 功能:迭代器用于获取当前集合中的每一个元素

        • it.hasNext()

          • 判断元素是否存在
        • it.next()

          • 获取到该元素
  • 方法特点

    • 每个方法都没有加入Synchronized关键字
    • 线程不安全

TreeSet(集合类)

创建方式

  • new TreeSet()

存储方式

  • TreeSet采用TreeMap存储,而TreeMap在底层使用了红黑树存储结构(自平衡的排序二叉树)

    • treeSet集合中的所有元素,可以进行自动排序

方法

  • 添加元素

    • 当前集合.add(指定元素)

      • 功能:将指定元素添加至当前集合中

        • 中文存储时,采用字符的Unicode码
    • 当前集合.addAll(另一个集合)

      • 功能:将另一个集合中的元素全部添加至当前集合中
  • 删除元素

    • 当前集合.clear()

      • 功能:清除当前集合中的所有元素
    • 当前集合.remove(指定元素)

      • 功能:删除当前集合中的指定元素
    • 当前集合.removeAll(删除的元素集合)

      • 功能:将当前集合中的元素按照删除的元素集合进行批量删除
  • 查询元素

    • 当前集合.size()

      • 功能:获取当前集合的长度
    • headSet(指定元素)

      • 获取指定元素之前的头部子集合,默认不包含指定元素
    • headSet(指定元素,boolean)

      • 获取指定元素之前的头部子集合,boolean值去顶是否包含指定元素
    • 当前集合.contains(指定元素)

      • 功能:在当前集合中查找是否含有指定元素
    • 当前集合.isEmpty()

      • 功能:判断当前集合是否为空
    • tailSet(指定元素)

      • 获取指定元素之前的尾部子集合,默认不包含指定元素
    • tailSet(指定元素,boolean)

      • 获取指定元素之前的尾部子集合,boolean值去顶是否包含指定元素
    • 当前集合.First()

      • 功能:获取当前集合的头部元素
    • 当前集合.last()

      • 功能:获取当前集合的尾部元素
    • 当前集合.lower(指定元素)

      • 功能:返回小于指定元素的第一个元素
    • 当前集合.floor(指定元素)

      • 功能:返回小于等于指定元素的第一个元素
    • 当前集合.higher(指定元素)

      • 功能:返回大于指定元素的第一个元素
    • 当前集合.ceiling(指定元素)

      • 功能:返回大于等于指定元素的第一个元素
    • 当前集合.pollFirst()

      • 功能:弹出集合中第一个元素
    • 当前集合.pollLast()

      • 功能:弹出集合中最后一个元素
  • 截取元素

    • 当前集合.subSet(指定元素1,指定元素2)

      • 功能:从指定元素1(包含)开始截取,截取至指定元素2(不包含)

        • 默认左闭右开
    • 当前集合.subSet(指定元素1,boolean值,指定元素2,boolean值)

      • 功能:从指定元素1截取至指定元素2,是否包含元素1元素2取决有boolean类型的值
  • 转换

    • 当前集合.toString()

      • 功能:将当前集合转换为字符串
    • 当前集合.toArray()

      • 功能:将当前集合转换程Object类型的数组
    • 当前集合.toArray(new String[int])

      • 功能:将当前集合转换为指定类型指定长度的数组
  • 迭代器

    • 当前集合.iterator()

      • 功能:迭代器用于获取当前集合中的每一个元素

        • it.hasNext()

          • 判断元素是否存在
        • it.next()

          • 获取到该元素
  • 克隆

    • 当前集合.clone()

      • 功能:快速的对当前集合进行克隆

方法特点

  • 每个方法都没有加入Synchronized关键字
  • 线程不安全
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值