Java-TreeMap
2021/12/3 1:36:14
本文主要是介绍Java-TreeMap,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java-TreeMap
- TreeMap会实现放入数据的自动排序,所以再放入自写类时,需要实现Comparator接口或者Comparable接口
package com.unicom.www; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.TreeSet; public class TreeSetTest { public static void main(String[] args) { // 利用重写Comparator接口,实现自写类的可排序。 TreeSet<XiaoWuGui> integers = new TreeSet<>(new cmp()); // 利用重写Comparable接口,实现自写类的可排序 // TreeSet<XiaoWuGui> integers = new TreeSet<>(); integers.add(new XiaoWuGui(400, "qiaozhi")); integers.add(new XiaoWuGui(300,"peiqi")); integers.add(new XiaoWuGui(200,"nini")); integers.add(new XiaoWuGui(500,"baba")); integers.add(new XiaoWuGui(480,"mama")); integers.add(new XiaoWuGui(800,"papa")); integers.add(new XiaoWuGui(800,"nainai")); integers.add(new XiaoWuGui(807,"nainai")); for (XiaoWuGui i:integers ) { System.out.println(i); } System.out.println("------------------------------------"); // 将Set转化为List ArrayList<XiaoWuGui> xiaoWuGuis = new ArrayList<>(integers); // 利用Collections工具类可保证线程安全 Collections.synchronizedList(xiaoWuGuis); // Collections.sort()方法需要自写类实现Comparable接口 Collections.sort(xiaoWuGuis); for (XiaoWuGui x:xiaoWuGuis ) { System.out.println(x); } } } class cmp implements Comparator<XiaoWuGui>{ @Override public int compare(XiaoWuGui o1, XiaoWuGui o2) { // return (o1.age+o1.name).compareTo(o2.age+o2.name); return (o1.name+o1.age).compareTo(o2.name+o2.age); } } class XiaoWuGui implements Comparable<XiaoWuGui>{ int age; String name; @Override public int compareTo(XiaoWuGui o) { return this.age-o.age; } @Override public String toString() { return "XiaoWuGui{" + "age=" + age + ", name='" + name + '\'' + '}'; } public XiaoWuGui(int age, String name) { this.age = age; this.name = name; } }
这篇关于Java-TreeMap的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)