欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

【Java TreeMap】测试TreeMap的使用、Comparabe自定义类的自定义排序方式

发布时间:2024/2/28 java 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【Java TreeMap】测试TreeMap的使用、Comparabe自定义类的自定义排序方式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

TreeMap

TreeMap<键,值对>底层是红黑树,元素放进去之后会自动根据key排序。

测试代码

测试TreeMap的使用、Comparabe自定义类的自定义排序方式e

package cn.hanquan.test;import java.util.Map; import java.util.TreeMap;public class TreeMapTest {public static void main(String[] args) {Map<Employee, String> treemap1 = new TreeMap<>();treemap1.put(new Employee(5, "布小谷", 2000), "buxiaogu");treemap1.put(new Employee(2, "淳于乔", 5000), "chunyuqiao");treemap1.put(new Employee(1, "魔鬼鱼", 5000), "moguiyu");treemap1.put(new Employee(3, "雷军", 10000), "leijun");treemap1.put(new Employee(4, "雷奕明", 3000), "leiyiming");for (Employee key : treemap1.keySet()) {System.out.println(key.toString() + "->" + treemap1.get(key));}} }class Employee implements Comparable<Employee> {int id;String name;double salary;public Employee(int id, String name, double salary) {super();this.id = id;this.name = name;this.salary = salary;}@Overridepublic int compareTo(Employee o) {//自己的比较规则if (this.salary > o.salary) {return 1;} else if (this.salary < o.salary) {return -1;} else if (this.id > o.id) {return 1;} else if (this.id < o.id) {return -1;} elsereturn 0;}public String toString() {String str = new String(id + " " + name + " " + salary);return str;} }

输出

5 布小谷 2000.0->buxiaogu
4 雷奕明 3000.0->leiyiming
1 魔鬼鱼 5000.0->moguiyu
2 淳于乔 5000.0->chunyuqiao
3 雷军 10000.0->leijun

总结

以上是生活随笔为你收集整理的【Java TreeMap】测试TreeMap的使用、Comparabe自定义类的自定义排序方式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。