地図のキー値に仕分けし、応じてのための方法

キーによると、

これは、の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());
        }
    }
}

このような操作は、実際に並べ替え、自分自身をマッピングリストの順序を変更されていません。

公開された19元の記事 ウォンの賞賛8 ビュー1660

おすすめ

転載: blog.csdn.net/weixin_46192593/article/details/104987354