0

これは重複した質問かもしれないと思います。しかし、私の要件に対する答えが見つかりませんでした。

次のような名前(文字列)のリストがあります

Merill, Gopi, kamal, orange, white

次のようなコレクションを使用して昇順でリストを取得するには、何かをする必要があります

Gopi, kamal, Merill, orange, white

アルファベット順にリストを取得することは可能ですか?

コレクションを使用してこれをソートする方法を教えてください。

(この質問を重複として閉じる前に解決策を提供してください)

4

4 に答える 4

5

これを使用できます:

Collections.sort(list, String.CASE_INSENSITIVE_ORDER)

String.CASE_INSENSITIVE_ORDERComparator<String>インStringクラスです。これはロケールに対応していないことに注意してください。

于 2012-07-24T05:56:44.697 に答える
3

あなたはすでにあなたの投稿で解決策について言及しました:

コレクチンを使用してこれをソートする方法を誰か教えてください。

を使用しjava.util.Collections.sort(...)ます。

コレクションの API

于 2012-07-24T05:53:45.197 に答える
1

Collections.sort(リストを渡す)は昇順でソフトになります。独自の方法で並べ替えたい場合はComparatorを使用する必要がありますが、ここではその必要はありません。

于 2012-07-24T05:54:09.003 に答える
1

コレクションを使用して並べ替えようとしているのは知っていますが、簡単な方法は次のとおりです。

public static void main(String[] args) throws ParseException {
    String[] values = new String[] {"Some item", "another item", "1 last more", "nevermind", "this is different"};
    System.out.println("Before: " + Arrays.toString(values));
    Arrays.sort(values, new Comparator<String>() {
        @Override
        public int compare(String arg0, String arg1) {
            return arg0.compareTo(arg1);
        }
    });
    System.out.println("After: " + Arrays.toString(values));
}

そして、これが出力されます:

変更前: [あるアイテム、別のアイテム、あと 1 つ、気にしないでください、これは違います]

後: [あと 1 つ、いくつかのアイテム、別のアイテム、気にしないでください、これは違います]

配列は、最初に数値/その他、次に大文字-アルファベット、次に小文字-アルファベット順にソートされます

于 2012-07-24T05:57:29.873 に答える