java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
下面小编就为大家带来一篇浅谈 java 中的 TreeMap 排序与 TreeSet 排序小编觉得挺不错的, 现在就分享给大家, 也给大家做个参考一起跟随小编过来看看吧
- TreeMap: package com;
- import java.util.Comparator;
- import java.util.TreeMap;
- public class Test5 {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- TreeMap < String,
- String > tree = new TreeMap < String,
- String > (new Comparator < Object > () {@Override public int compare(Object o1, Object o2) {
- // TODO Auto-generated method stub
- if (o1 == null || o2 == null) {
- return 0;
- }
- return o1.toString().compareTo(o2.toString());
- }
- });
- tree.put("k", "1");
- tree.put("ba", "2");
- tree.put("z", "3");
- tree.put("d", "4");
- tree.put("e", "5");
- tree.put("an", "6");
- tree.put("c", "7");
- for (String str: tree.keySet()) {
- System.out.println(str);
- }
- }
- }
经测试默认是按照 KEY 进行排序的
但是可以写对象比较器, 进行自定义排序
TreeSet : 自定义倒序排序, 默认按照正序排序, 1,2,3,4,5,6
- package com;
- import java.util.Comparator;
- import java.util.TreeSet;
- public class Test6 {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- TreeSet < Object > tree = new TreeSet < Object > (new Comparator < Object > () {@Override public int compare(Object o1, Object o2) {
- // TODO Auto-generated method stub
- if (o1 == null || o2 == null) {
- return 0;
- }
- if (Integer.parseInt(o1.toString()) > Integer.parseInt(o2.toString())) {
- return - 1;
- } else if (Integer.parseInt(o1.toString()) < Integer.parseInt(o2.toString())) {
- return 1;
- } else {
- return 0;
- }
- }
- });
- tree.add(4);
- tree.add(5);
- tree.add(6);
- tree.add(1);
- tree.add(2);
- tree.add(3);
- for (Object o: tree) {
- System.out.println(o);
- }
- }
- }
来源: http://www.phperz.com/article/18/0213/359206.html