按字母顺序对数组列表进行排序(不区分大小写) [英] Sorting arraylist in alphabetical order (case insensitive)
本文介绍了按字母顺序对数组列表进行排序(不区分大小写)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含人名的字符串数组列表 names
.我想按字母顺序对数组列表进行排序.
I have a string arraylist names
which contains names of people. I want to sort the arraylist in alphabetical order.
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));
我尝试以上述方式对列表进行排序.但它将排序的数组显示为:
I tried to sort the list in above way. But it is displaying the sorted array as:
Athira
Karthika
..
..
ananya
bala
...
但我不想让它区分大小写.我希望结果为:
but I don't want to make it case sensitive. I want the result as:
ananya
Athira
bala
推荐答案
自定义 Comparator
应该有帮助
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareToIgnoreCase(s2);
}
});
或者如果您使用的是 Java 8:
Or if you are using Java 8:
list.sort(String::compareToIgnoreCase);
这篇关于按字母顺序对数组列表进行排序(不区分大小写)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文