我们都知道,java中的集合可以分为这么两大类:Collection和Map ,其中Collection 接口中又可以派生出来两个接口,分别为:List和Set接口。

其中,Set下有HashSet,LinkedHashSet,TreeSet;List下有ArrayList,Vector,LinkedList,关于List集合中的ArrayList,Vector,LinkedList前面文章都分享过,大家想看的可以去看看历史推送。

今天我们来看看Set集合。

01

HashSet

HashSet的底层数据结构是哈希表,特点:集合中的元素无序且唯一。可以用两个方法离开保证集合元素的唯一性:hashCode()equals()

02

LinkedHashSet

LinkedHashSet的底层数据结构是链表和哈希表。特点:FIFO插入有序且唯一。我们可以由链表保证元素有序,由哈希表保证元素唯一;

03

TreeSet

TreeSet的底层数据结构是红黑树,特点:唯一且有序, TreeSet集合会自动对元素进行排序,默认是升序排序。

如果你想降序或者按照对象来排序,可以借助于比较器的方式来实现。

下面是一段简单的TreeSet集合排序测试代码:

public static void main(String[] args) {SortedSet<Integer> ages = new TreeSet<Integer>();ages.add(69);ages.add(96);ages.add(20);ages.add(63);System.out.println("遍历集合中的元素:");for (Integer i:ages) {System.out.print(i+" ");}}

运行结果如下:

从代码中我们可以看到,添加元素时,是随机添加的,数值小的有的在后面,有的在前面,但是添加到TreeSet集合中的时候,会自动升序排序。

往期精彩

“老师,请您多关注一下我吧!!!”

2020-11-15

晨读,难道只是为了完成任务而读的吗?

2020-11-14

Vector是线程安全的?

2020-11-13

为什么要有周考?周考是用来干什么的?

2020-11-12

刚刚,改造了下BaseDao……

2020-11-11

分享几个花拳绣腿的网页布局!

2020-11-10

点分享

点点赞

点在看

Java中的TreeSet集合会自动将元素升序排序相关推荐

  1. java 集合初始化_6种方法初始化JAVA中的list集合

    List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下. 1.常规方式 List languages = ne ...

  2. Java中遍历Set集合的三种方法

    Map集合:链接: Map集合的五种遍历方式及Treemap方法 Set集合:链接: Java中遍历Set集合的三种方法 TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法 ...

  3. java中的Set集合和基本操作

    简要: java中的Set集合常用的实现类为:HashSet(最常用)和TreeSet Set集合与其他存储类型有个较大的不同:无重性.无序性(像数学中集合的特性) HashSet默认可存储任意类型( ...

  4. java List最大_在java中获取List集合中最大的日期时间操作

    取list集合中最大的日期, 可以用date max = collections.max(datelist);, 传入一个日期集合, 就可以获取, 工作中有这个需求, 就查找到这个, 代码如下 } e ...

  5. Java中的基本数据类型转换(自动、强制、提升)

    转载自 Java中的基本数据类型转换(自动.强制.提升) 说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数 ...

  6. Java中如何克隆集合——ArrayList和HashSet深拷贝

    2019独角兽企业重金招聘Python工程师标准>>> 编程人员经常误用各个集合类提供的拷贝构造函数作为克隆List,Set,ArrayList,HashSet或者其他集合实现的方法 ...

  7. java中如何上送list集合_如何使用java中的list集合

    如何使用java中的list集合 发布时间:2020-06-26 14:45:11 来源:亿速云 阅读:88 作者:Leah 如何使用java中的list集合?针对这个问题,这篇文章详细介绍了相对应的 ...

  8. Java中遍历Map集合的5种方式总结

    这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 方式一 通过Map.keySet使用iterator遍历 ...

  9. JAVA中的Map集合

    JAVA中的Map集合 1.Map简介 java.util.map接口 1.Map称为查找表,该数据结构的样子是一个"多行两列"的表格,左列为key,右列为value,Map总是根 ...

最新文章

  1. 2018-3-10 kKNN与K-mean的区别以及各自的Python代码(别人写的好的文章)
  2. fullpage 单屏高度超过屏幕高度,实现单屏内可以滚动并解决手机端单屏高度不正确的问题
  3. 基于VB和EXCEL的报表设计及打印
  4. cocos2dx 制作单机麻将(二)
  5. Java 面试题 —— 老田的蚂蚁金服面试经历
  6. AC自动机解决字符集很大的情况(可持久化数组优化getfail的过程)
  7. MFC串口通信设置及发送、中断接收程序
  8. 【Clickhouse】ClickHouse REST API(HTTP接口)及Engine引擎的使用
  9. HDU 1074 Doing Homework 状态压缩 + 搜索
  10. Android 四大组件 之 BroadcastReceiver(广播接收者)
  11. Web前端开发工程师基本要求
  12. 点击触发ajax重复提交表单,屡次连续点击致使Ajax重复提交
  13. 论文中的Matlab画图常用技巧
  14. FastStone Capture 7.7 截图工具下载地址及使用
  15. CycleGAN与pix2pix详解
  16. 如何用photoshop做24色环_色相环:用PS做色相环教程
  17. ico图片格式生成器
  18. Adobe Illustrator【印前角线X2.0】脚本源码
  19. redis学习笔记,常用方法
  20. 同程艺龙半年报的喜色,掩盖了旅游竞争的本色

热门文章

  1. 快速排序在最坏的情况下时间复杂度(Ω(nlgn)(算法导论第三版9.3-3))
  2. python 16进制补零_Python输出16进制不带0x补零,整数转16进制,字符串转16进制
  3. c语言程序设计7.4思考题答案,C语言程序设计习题集及答案(7)
  4. 2019-03-15-算法-进化(两数之和)
  5. 网络流与线性规划24题(写了一半,先鸽下了……)
  6. Codeforces Round #579 (Div. 3) F1. Complete the Projects (easy version) 排序 + 贪心
  7. HDU2021多校第五天 1009 Array-树状数组求二阶前缀和
  8. Codeforces Round #682 (Div. 2)D Powerful Ksenia ///思维
  9. AcWing 1091. 理想的正方形
  10. AcWing 1402. 星空之夜 1月28