ハッシュの値でソートするには

差分

このページの2つのバージョン間の差分を表示します。


ハッシュの値でソートするには [2019/07/15 02:46] (現在) – 作成 - 外部編集 127.0.0.1
行 1: 行 1:
 +# ハッシュの値でソートする
 +
 +以下の関数を適当にコピーし、不足したクラスを適宜importする。
 +<code java>
 + public static ArrayList<Map.Entry<String, Integer>> sortHash(HashMap<String, Integer> map){
 + ArrayList<Map.Entry<String, Integer>> mapValuesList = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
 +
 + Collections.sort(mapValuesList, new Comparator<Map.Entry<String, Integer>>() {
 + @Override
 + public int compare(Map.Entry<String, Integer> entry1, Map.Entry<String, Integer> entry2) {
 + return ((Integer) entry2.getValue()).compareTo((Integer) entry1.getValue());
 + }
 + });
 + return mapValuesList;
 + }
 +</code>
 +
 +値でソートしたキーを得るには
 +<code java>
 + ArrayList<Map.Entry<String, Integer>> sortedList =sortHash(map); // mapがHashMap
 + System.out.println(sortedList.get(0).getKey()); // ArrayListの一番最初の項目(0)に最も値の大きいKey/Valueのペアがくる。
 +</code>