Javaコンテナクラス-compareメソッドを書き換えて要素ソート学習を行う

6615 ワード

ブラシ問題はLeetCode 692に進む.前K個の高周波単語
小さなルートのデータ構造を使う必要があります.JavaのcomparableインタフェースとComparatorインタフェースを実現するには、JavaのcomparableインタフェースとComparatorインタフェースを実現するのに長い時間がかかりました.compareToメソッドとcompareメソッド(混ざっている感じがする)を書き直し、この文章ではまずcompareメソッドを書き直すだけでソートします.
ArrayList動的配列テストのみ使用
ArrayList<Integer> al = new ArrayList<>();
        al.add(2);
        al.add(4);
        al.add(1);
        al.add(7);
        al.add(5);
        for (int n : al) System.out.print(n + " ");
        System.out.println();
        System.out.println("-----------------");
        Collections.sort(al, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;// o1 - o2   ,    
            }
        });
        for (int n : al) System.out.print(n + " ");

結果(o 1-o 2):
2 4 1 7 5 
-----------------
1 2 4 5 7 
Process finished with exit code 0

(o2 - o1) :
2 4 1 7 5 
-----------------
7 5 4 2 1 
Process finished with exit code 0

混乱した方法を後で書きます.