回答編集履歴

1

いろいろ

2018/11/30 17:30

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -12,8 +12,40 @@
12
12
 
13
13
  }
14
14
 
15
-
15
+ return new String(c);
16
16
 
17
17
  }
18
18
 
19
19
  ```
20
+
21
+ ごめんなさい、肝心の返り値を書いていませんでした。なお、この方法だと「a」「ab」のような「一方が他方より長いだけ」の順番が逆にならないのでご注意を。
22
+
23
+
24
+
25
+ てっきりJavaでのソートができない、あるいは何か別の固有の機能でソートするのかと思っていましたが、Javaプログラム上での並び替えができるなら簡単に済みます。
26
+
27
+ (entry1とentry2が逆になっているのがポイント)
28
+
29
+ ```java
30
+
31
+ Collections.sort(entries, new Comparator<Map.Entry<Integer,String>>() {
32
+
33
+
34
+
35
+ @Override
36
+
37
+ public int compare(
38
+
39
+ Entry<Integer,String> entry1, Entry<Integer,String> entry2) {
40
+
41
+ return (entry2.getValue()).compareTo(entry1.getValue());
42
+
43
+ }
44
+
45
+ });
46
+
47
+
48
+
49
+ ```
50
+
51
+ なお、Java8以降であればyukkuriさんの回答のようなstaticメソッドでのComparatorが使えて便利です。