Set集合基础总结

1. HashSet

  • 存储结构
    HashSet集合采用哈希表( HashMap )进行存储,以一种“散列”的方式进行存储
  • 常用方法
  1. addAll( 添加的元素集合 )
    功能:批量添加元素
  2. clear( )
    功能:清空集合内所有元素
  3. contains( )
    功能:判断当前集合内是否存在指定元素
    返回:boolean值,true代表存在,false代表不存在
  4. isEmpty( )
    功能:判断当前集合是否为空
    返回:boolean值,true代表为空,false代表不为空
  5. remove( 待删除元素 )
    功能:删除指定元素
    传入:将要删除的元素
    返回:boolean值,存在则删除成功,返回true;不存在则删除失败,返回false
  6. removeAll( 待删除元素集合 )
    功能:删除指定元素集合
    传入:将要删除的元素集合
    返回:boolean值,当前集合包含传入集合中的所有元素则删除成功,返回true;否则删除失败,返回false
  7. size( )
    功能:获取集合中元素的个数
  8. toArray( )
    功能:将当前集合内的元素转换至一个数组中
  9. clone( )
    功能:快速的复制当前的集合(克隆集合)
    返回:与原集合相同(包括HshaCode值)的一个集合(但另外占用空间)

2. LinkedHashSet

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

3. TreeSet( 集合类 )

  • 存储结构
    TreeSet采用TreeMap存储,而TreeMap在底层使用了红黑树存储结构(自平衡的排序二叉树)
    TreeSet集合内的元素,可以进行自动排序
  • 常用方法
  1. first( )
    功能:获取集合中的第一个元素
    返回:集合中的第一个元素

  2. last( )
    功能:获取集合中的最后一个元素
    返回:集合中的最后一个元素

  3. headSet( 指定元素,boolean值 )
    功能:获取指定元素之前的头部子集合
    传入:只传入指定元素或传入指定元素和boolean值
    返回:返回获取的头部子集合,若只传入指定元素,则返回的子集合中不包含传入元素;若传入指定元素和boolean值,传入true时包含传入元素,传入false时不包含传入元素

  4. tailSet( 指定元素,boolean值 )
    功能:获取指定元素之后的尾部子集合
    传入:只传入指定元素或传入指定元素和boolean值
    返回:返回获取的尾部子集合,若只传入指定元素,则返回的子集合中包含传入元素;若传入指定元素和boolean值,传入true时包含传入元素,传入false时不包含传入元素

  5. lower( 指定元素 )
    功能:返回小于指定元素的第一个元素
    传入:指定元素
    返回:返回小于指定元素的第一个元素

  6. floor( 指定元素 )
    功能:返回小于等于指定元素的第一个元素
    传入:指定元素
    返回:返回小于等于指定元素的第一个元素

  7. higher( 指定元素 )
    功能:返回大于指定元素的第一个元素
    传入:指定元素
    返回:返回大于指定元素的第一个元素

  8. ceiling( 指定元素 )
    功能:返回大于等于指定元素的第一个元素
    传入:指定元素
    返回:返回大于等于指定元素的第一个元素

  9. subSet( 指定元素1,boolean值1,指定元素2,boolean值2 )
    功能:从集合中截取部分元素
    1> 传入:只传入指定元素1和指定元素2
    返回:截取后的子集合(包含元素1,不包含元素2)

    2> 传入:传入指定元素1,对应的boolean值1,指定元素2,对应的boolean值2
    返回:截取后的子集合(若若分别传入对应的boolean值false和true,则不包含元素1,包含元素2)

  10. pollFirst( )
    功能:弹出集合中的第一个元素(弹出后原集合中不存在弹出元素)
    返回:当前元素中的第一个元素

  11. pollLast( )
    功能:弹出集合中的最后一个元素(弹出后原集合中不存在弹出元素)
    返回:当前元素中的最后一个元素

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容