キーによると、
これは、のcompareTo()メソッドおよびコンパレータTreeMapのクラスが必要です。
import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;
public class Test_sort{
public static void main(String[] args) {
Map<String,String>map = new TreeMap<>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
//降序
//return o2.compareTo(o1);
//升序
return o1.compareTo(o2);
}
});
map.put("2","Language");
map.put("1","Java Language");
map.put("3","C Language");
System.out.println(map);
}
}
その中でも、ラムダ式の定義マップは次のように記述することができます
Map<String,String>map = new TreeMap<>((o1, o2) -> {
//降序
//return o2.compareTo(o1);
//升序
return o1.compareTo(o2);
});
値によると、
Collections.sortは(必要)とラムダ式
ラムダ式。1つの
ラムダ式2
import java.util.*;
public class Test_sort {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("A", "33");
map.put("B", "31");
map.put("C", "35");
List<Map.Entry<String, String>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
int compare = (o1.getValue()).compareTo(o2.getValue());
//升序
return compare;
//降序
//return -compare;
}
});
for (Map.Entry<String, String> maps : list) {
System.out.println(maps.getKey() + " " + maps.getValue());
}
}
}
このような操作は、実際に並べ替え、自分自身をマッピングリストの順序を変更されていません。