-1

インタビューで、以下に示すようないくつかの文字列を含むリストがあり、文字ごとに比較する必要があるという質問がありました

cDgHkJ----------->index 0
bAgHtR----------->index 1
aBEfgj----------->index 2

ここで、リストをソートする必要があります。大文字と小文字を区別しないケースを無視する必要がありますが、このような

以下に示すように、インデックス 2 とインデックス 1 の比較

aAEfgj----------->index 1
bBgHtR----------->index 2

次に、インデックス 1 とインデックス 2 の比較

cDgHkJ----------->index 0
aAEfgj----------->index 1   ( which we first sorted in first step)

-------最終ソートリスト---------------

aAEfgJ---------> ultimately final sorted list , I want to achieve
cDgHkj----------->index 1  
aBEfgj----------->index 2

これを達成する方法を教えてください。

4

1 に答える 1

-1

小文字または大文字に強制されたに両方の文字列を比較する独自のコンパレータを定義することで、これを簡単に行うことができます。

List<String> strings = new ArrayList<>();

// fill with strings

Collections.sort(strings, 
                 new Comparator<String>() { 
                     @Override
                     public int compare(String s1, String s2) { 
                         return s1.toLowerCase().compareTo(s2.toLowerCase()); 
                     }
                 }
);
于 2013-03-10T05:18:19.760 に答える