回答編集履歴

1

語弊がありそうな部分を修正

2015/11/26 07:13

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -1,5 +1,5 @@
1
1
  降順に並べるにあたって、あなたのコードには2点問題があります。
2
2
 
3
- 1. Comparatorを使ってソートするなら、Collections.sort()にはリストと**Comparatorのインスタンス**を渡す必要がある。これがない場合、リストの要素の自然順序付け(Comparable.compareTo())が使われる事になる。
3
+ 1. Comparatorを使ってソートするなら、Collections.sort()にはリストと**Comparator実装クラスオブジェクト**を渡す必要がある(今回の場合、StringComparatorのインスタンス)。これがない場合、リストの要素の自然順序付け(Comparable.compareTo())が使われる事になる。
4
4
 
5
5
  2. 今書いているComparatorでは自然順序付けと変わらない(つまり昇順のまま)。compareToの対象と引数を逆にする(`o2.compareTo(o1)`)か、マイナスをつける(`-o1.compareTo(o2)`)必要がある。