转自:
下文笔者讲述TreeMap中对数字,英文字母排序的方法分享,如下所示:
实现思路: 定义一个外部比较器即可实现对数字,英文字母的比较 (在外部比较器中借用比较器的compareTo方法)
例:
package com.java265.other; import java.util.Map; import java.util.TreeMap; public class Test { public static void main(String[] args) throws Exception { Map<String, Integer> m = new TreeMap<>(); m.put("java", 8); m.put("c", 33); m.put("python", 44); m.put("cSharp", 11); System.out.println(m); System.out.println("------------"); Map<String, Integer> m2 = new TreeMap<>((o1, o2) -> { return ((String) o2).compareTo(o1); }); m2.put("java", 8); m2.put("c", 33); m2.put("python", 44); m2.put("cSharp", 11); System.out.println(m2); } } -----运行以上代码,将输出以下信息---- {c=33, cSharp=11, java=8, python=44} ------------ {python=44, java=8, cSharp=11, c=33}