Java中的TreeSet集合会自动将元素升序排序
我们都知道,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集合会自动将元素升序排序相关推荐
- java 集合初始化_6种方法初始化JAVA中的list集合
List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下. 1.常规方式 List languages = ne ...
- Java中遍历Set集合的三种方法
Map集合:链接: Map集合的五种遍历方式及Treemap方法 Set集合:链接: Java中遍历Set集合的三种方法 TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法 ...
- java中的Set集合和基本操作
简要: java中的Set集合常用的实现类为:HashSet(最常用)和TreeSet Set集合与其他存储类型有个较大的不同:无重性.无序性(像数学中集合的特性) HashSet默认可存储任意类型( ...
- java List最大_在java中获取List集合中最大的日期时间操作
取list集合中最大的日期, 可以用date max = collections.max(datelist);, 传入一个日期集合, 就可以获取, 工作中有这个需求, 就查找到这个, 代码如下 } e ...
- Java中的基本数据类型转换(自动、强制、提升)
转载自 Java中的基本数据类型转换(自动.强制.提升) 说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数 ...
- Java中如何克隆集合——ArrayList和HashSet深拷贝
2019独角兽企业重金招聘Python工程师标准>>> 编程人员经常误用各个集合类提供的拷贝构造函数作为克隆List,Set,ArrayList,HashSet或者其他集合实现的方法 ...
- java中如何上送list集合_如何使用java中的list集合
如何使用java中的list集合 发布时间:2020-06-26 14:45:11 来源:亿速云 阅读:88 作者:Leah 如何使用java中的list集合?针对这个问题,这篇文章详细介绍了相对应的 ...
- Java中遍历Map集合的5种方式总结
这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 方式一 通过Map.keySet使用iterator遍历 ...
- JAVA中的Map集合
JAVA中的Map集合 1.Map简介 java.util.map接口 1.Map称为查找表,该数据结构的样子是一个"多行两列"的表格,左列为key,右列为value,Map总是根 ...
最新文章
- 2018-3-10 kKNN与K-mean的区别以及各自的Python代码(别人写的好的文章)
- fullpage 单屏高度超过屏幕高度,实现单屏内可以滚动并解决手机端单屏高度不正确的问题
- 基于VB和EXCEL的报表设计及打印
- cocos2dx 制作单机麻将(二)
- Java 面试题 —— 老田的蚂蚁金服面试经历
- AC自动机解决字符集很大的情况(可持久化数组优化getfail的过程)
- MFC串口通信设置及发送、中断接收程序
- 【Clickhouse】ClickHouse REST API(HTTP接口)及Engine引擎的使用
- HDU 1074 Doing Homework 状态压缩 + 搜索
- Android 四大组件 之 BroadcastReceiver(广播接收者)
- Web前端开发工程师基本要求
- 点击触发ajax重复提交表单,屡次连续点击致使Ajax重复提交
- 论文中的Matlab画图常用技巧
- FastStone Capture 7.7 截图工具下载地址及使用
- CycleGAN与pix2pix详解
- 如何用photoshop做24色环_色相环:用PS做色相环教程
- ico图片格式生成器
- Adobe Illustrator【印前角线X2.0】脚本源码
- redis学习笔记,常用方法
- 同程艺龙半年报的喜色,掩盖了旅游竞争的本色
热门文章
- 快速排序在最坏的情况下时间复杂度(Ω(nlgn)(算法导论第三版9.3-3))
- python 16进制补零_Python输出16进制不带0x补零,整数转16进制,字符串转16进制
- c语言程序设计7.4思考题答案,C语言程序设计习题集及答案(7)
- 2019-03-15-算法-进化(两数之和)
- 网络流与线性规划24题(写了一半,先鸽下了……)
- Codeforces Round #579 (Div. 3) F1. Complete the Projects (easy version) 排序 + 贪心
- HDU2021多校第五天 1009 Array-树状数组求二阶前缀和
- Codeforces Round #682 (Div. 2)D Powerful Ksenia ///思维
- AcWing 1091. 理想的正方形
- AcWing 1402. 星空之夜 1月28