java8 treemap 排序_TreeSet 和TreeMap 排序
TreeSet 有两种排序方式
1. Java.lang.Comparble+compareTo
new TreeSet()
用这种方法必须要求实体类实现Comparable接口,也就是说要求添加到TreeSet中的元素是可排序的
2. java.util.Comparator +compare
举个TreeSet栗子:
package com.etc.test;
import java.util.Comparator;
import java.util.TreeSet;
import com.etc.entity.Person;
public class TreeSetDemo {
public static void main(String[] args) {
Person p1=new Person("depp",100);
Person p2=new Person("tom",90);
Person p3=new Person("jack",50);
TreeSet ts=new TreeSet(
new Comparator() {
public int compare(Person o1,Person o2){
return o1.getHandsome()-o2.getHandsome();//升序
}
}
);
ts.add(p1);
ts.add(p2);
ts.add(p3);
System.out.println(ts);
/*
* 排序结果没有改变,是因为TreeSet在添加元素的时候进行排序,需要注意,数据更改不会影响原来的顺序
还有一点需要注意的是,TreeSet中不可以数据重复,所以一般不修改数据,为了确保这一点,我们可以在Person类为属性加上final关键字,删除setter方法
*/
p3.setHandsome(200);//改变数据,排序不会改变
System.out.println(ts);
}
}
举个TreeMap栗子:
package com.etc.test;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
import com.etc.entity.Person;
public class TreeMapDemo {
public static void main(String[] args) {
Person p1=new Person("depp",100);
Person p2=new Person("tom",90);
Person p3=new Person("jack",50);
TreeMap tm=new TreeMap(new Comparator() {
public int compare(Person o1,Person o2)
{
return o1.getHandsome()-o2.getHandsome();//升序
}
});
tm.put(p1, "ttt");
tm.put(p2, "ttt");
tm.put(p3, "ttt");
System.out.println(tm);
//也可以用set进行输出 TreeMap也是在添加元素时进行排序
Set set=tm.keySet();
System.out.println(set);
}
}
java8 treemap 排序_TreeSet 和TreeMap 排序相关推荐
- TreeMap实现对中文的排序
import java.util.TreeMap;/*** @author silence* TreeMap实现对中文的排序* TreeMap会根据键排序,String实现了Comparable接口实 ...
- java学习:容器排序:TreeMap和TreeSet实现自定义排序的使用方法?两者的区别?
文章目录 TreeMap和TreeSet实现自定义排序的实现 1.TreeMap实现自定义排序 (1)构造函数中new Comparator,匿名内部类,重写compare 方法. (2)实体类实现C ...
- java 英文字符串排序_英文字符串排序算法
编程工作偶尔会遇到一些不常见问题需要处理,学编程处理问题也难免需要熟悉一些算法 以前学习的时候就遇到过一个看似简单的排序算法问题,当时的解决办法是我没有用过的,在此记录一下'' 问题 - 英文字符串排 ...
- 关于自然排序Comparable 和 比较器排序Comparator
简要区别 自然排序可用在list和set中,当用在list集合中时要通过Collections(list)对排序规则进行调用,谁是最后一个排序的就按照哪个排序规则进行排序 当用在TreeSet集合中时 ...
- java中treemap_Java TreeMap – Java中的TreeMap
java中treemap Java TreeMap is one of the Map implementation and it's part of Java Collections framewo ...
- Java Map 键值对排序 按key排序和按Value排序
一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tre ...
- java算法----排序----(6)希尔排序(最小增量排序)
1 package log; 2 3 public class Test4 { 4 5 /** 6 * java算法---希尔排序(最小增量排序) 7 * 8 * @param args 9 */ 1 ...
- python八大选择排序_Python实现选择排序
选择排序: 选择排序(Selection sort)是一种简单直观的 排序算法 .它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最 ...
- python中使用squarify包可视化treemap图:使用treemap图可视化个人或者集体的股票、基金的持仓结构(treemap with squarify package)
python中使用squarify包可视化treemap图:使用treemap图可视化个人或者集体的股票.基金的持仓结构(treemap with squarify package) 目录
- R语言使用treemap包中的treemap函数可视化treemap图:treemap将分层数据显示为一组嵌套矩形、自定义设置treemap图的调色板、自定义设置treemap标题字体的大小
R语言使用treemap包中的treemap函数可视化treemap图:treemap将分层数据显示为一组嵌套矩形.自定义设置treemap图的调色板.自定义设置treemap标题字体的大小 目录
最新文章
- 可可:框架和边界之间有什么区别?
- Spring Cloud Feign的文件上传实现
- 组件命名方式||局部组件注册:局部组件只能在注册他的父组件中使用
- maven2学习总结(1,入门起步与实践)
- PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解...
- 马化腾最新演讲谈机遇:让所有企业在云端利用AI处理大数据
- 上行和下行是什么意思_为什么无线通信需要同步?
- 成为全栈工程师的6个要素
- Linux下ps -ef和ps aux
- 1986:【19CSPS提高组】格雷码
- 软件工程(2019)第四次作业
- 计算机怎么不读u盘,老司机告诉你电脑不读U盘的解决方法
- Kafka安装与简介
- 串口 COM口,并口 LPT口,RS232、RS485、CAN、PC卡 及DAQ
- PyQt4实时显示文本内容GUI
- 干货!MetaCorrection:解决无监督域适应的domain gap问题
- 更改tomcat端口8080为80的时候,有系统端口占用的问题
- [附源码]java毕业设计社区健康服务平台管理系统lunwen
- js 高德地图,地图上落点,并点击地图上的图片可进行切换图片
- L1-007 念数字 (10分) 输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: