我有一个names包含人名的字符串arraylist 。我想按字母顺序对arraylist进行排序。
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
自定义Comparator应该有帮助
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);