names
人名を含む文字列配列リストがあります。配列リストをアルファベット順に並べ替えたいです。
ArrayList<String> names = new ArrayList<String>();
names.add("seetha");
names.add("sudhin");
names.add("Swetha");
names.add("Neethu");
names.add("ananya");
names.add("Athira");
names.add("bala");
names.add("Tony");
names.add("Karthika");
names.add("Nithin");
names.add("Vinod");
names.add("jeena");
Collections.sort(names);
for(int i=0; i<names.size(); i++)
System.out.println(names.get(i));
上記の方法でリストをソートしようとしました。しかし、ソートされた配列は次のように表示されます:
Athira
Karthika
..
..
ananya
bala
...
しかし、大文字と小文字を区別したくありません。結果は次のようになります:
ananya
Athira
bala
ベストアンサー1
習慣はComparator
役に立つはずだ
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareToIgnoreCase(s2);
}
});
または、Java 8 を使用している場合:
list.sort(String::compareToIgnoreCase);