//按key升序排序
Map<String, String> map = new TreeMap<>();
map.put("2018-07-11", "ccccc");
map.put("2018-07-26", "aaaaa");
map.put("2018-06-11", "bbbbb");
map.put("2018-06-28", "ddddd");
map.put("2017-05-29", "ccccc");
map.put("2017-04-26", "aaaaa");
map.put("2017-03-31", "bbbbb");
map.put("2017-02-01", "ddddd");
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String k = (String) iterator.next();
System.out.println(k + "--" + map.get(k));
}
//输出顺序
2017-02-01--ddddd
2017-03-31--bbbbb
2017-04-26--aaaaa
2017-05-29--ccccc
2018-06-11--bbbbb
2018-06-28--ddddd
2018-07-11--ccccc
2018-07-26--aaaaa
//按key降序排序
Map<String, String> map = new TreeMap<>(
new Comparator<String>() {
public int compare(String obj1, String obj2) {
return obj2.compareTo(obj1);
}
}
);
map.put("2018-07-11", "ccccc");
map.put("2018-07-26", "aaaaa");
map.put("2018-06-11", "bbbbb");
map.put("2018-06-28", "ddddd");
map.put("2017-05-29", "ccccc");
map.put("2017-04-26", "aaaaa");
map.put("2017-03-31", "bbbbb");
map.put("2017-02-01", "ddddd");
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String k = (String) iterator.next();
System.out.println(k + "--" + map.get(k));
}
//输出结果
2018-07-26--aaaaa
2018-07-11--ccccc
2018-06-28--ddddd
2018-06-11--bbbbb
2017-05-29--ccccc
2017-04-26--aaaaa
2017-03-31--bbbbb
2017-02-01--ddddd
//按value升序排序
Map<String, String> map = new TreeMap<>(
//如果有如下代码,key按照降序排序
new Comparator<String>() {
public int compare(String obj1, String obj2) {
return obj2.compareTo(obj1);
}
}
);
map.put("2018-07-11", "ccccc");
map.put("2018-07-26", "aaaaa");
map.put("2018-06-11", "bbbbb");
map.put("2018-06-28", "ddddd");
map.put("2017-05-29", "ccccc");
map.put("2017-04-26", "aaaaa");
map.put("2017-03-31", "bbbbb");
map.put("2017-02-01", "ddddd");
List<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>(map.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String, String>>() {
public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
for (Map.Entry<String, String> entry : list) {
System.out.println(entry.getKey()+"---"+entry.getValue());
}
//输出结果
2018-07-26---aaaaa
2017-04-26---aaaaa
2018-06-11---bbbbb
2017-03-31---bbbbb
2018-07-11---ccccc
2017-05-29---ccccc
2018-06-28---ddddd
2017-02-01---ddddd
//按value降序排序
Map<String, String> map = new TreeMap<>(
//如果有如下代码,key按照降序排序
new Comparator<String>() {
public int compare(String obj1, String obj2) {
return obj2.compareTo(obj1);
}
}
);
map.put("2018-07-11", "ccccc");
map.put("2018-07-26", "aaaaa");
map.put("2018-06-11", "bbbbb");
map.put("2018-06-28", "ddddd");
map.put("2017-05-29", "ccccc");
map.put("2017-04-26", "aaaaa");
map.put("2017-03-31", "bbbbb");
map.put("2017-02-01", "ddddd");
List<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>(map.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String, String>>() {
public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
for (Map.Entry<String, String> entry : list) {
System.out.println(entry.getKey()+"---"+entry.getValue());
}
//输出结果
2018-06-28---ddddd
2017-02-01---ddddd
2018-07-11---ccccc
2017-05-29---ccccc
2018-06-11---bbbbb
2017-03-31---bbbbb
2018-07-26---aaaaa
2017-04-26---aaaaa