java map 排序

来源:互联网 发布:linux matlab库 编辑:程序博客网 时间:2024/06/04 23:30
public class MapSort {public static void main(String[] args) {Map<String , User> um = new TreeMap<String, User>();//Map<String , User> um = new TreeMap<String, User>(new Comparator<String>() {//@Override//public int compare(String o1, String o2) {//return Integer.valueOf(o1) - Integer.valueOf(o2);//}//});for(Integer i = 55 ; i < 60; i++){User u = new User(i, i.toString());um.put(i.toString(), u);}um.put("110111", new User(3, "405"));um.put("1111", new User(110111, "452"));um.put("11011", new User(3, "435"));um.put("1", new User(55, "459"));List<Map.Entry<String, User>> us = new ArrayList<Map.Entry<String,User>>(um.entrySet());Collections.sort(us, new Comparator<Map.Entry<String, User>>() {@Overridepublic int compare(Entry<String, User> o1, Entry<String, User> o2) {User u1 = o1.getValue();User u2 = o2.getValue();return Integer.valueOf(u1.name) - Integer.valueOf(u2.name);}});System.out.println(us);}private static class User {private int id;private String name;public User(int id, String name) {super();this.id = id;this.name = name;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + "]";}}}

0 0