我认为这可能是一个重复的问题。但无法找到符合我要求的答案。
我有一个名字(String)列表,例如
Merill, Gopi, kamal, orange, white
我需要做一些事情来使用以下
之类的集合按升序获取列表Gopi, kamal, Merill, orange, white
是否可以按字母顺序获取列表?
有人可以告诉我们如何使用集合对其进行排序吗?
(请在关闭此问题之前提供解决方案作为重复)
答案 0 :(得分:5)
您可以使用:
Collections.sort(list, String.CASE_INSENSITIVE_ORDER)
String.CASE_INSENSITIVE_ORDER
是Comparator<String>
课程中的String
。请注意,这不是区域设置感知的。
答案 1 :(得分:3)
您已经在帖子中提到了解决方案:
任何人都可以告诉我们如何使用collectins对其进行排序?
使用java.util.Collections.sort(...)
。
答案 2 :(得分:1)
Collections.sort(传递列表)将按升序软。如果你想按自己的方式排序,那么你需要使用 Comparator ,但这里没有必要这样做。
答案 3 :(得分:1)
我知道你试图使用Collections对它进行排序,但这是一个简单的方法:
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最后,一些项目,另一项,没关系,这是不同的]
数组首先按数字/其他方式排序,然后是大写字母,然后是小写字母