如何将字符串集合倒序排列并且必须不区分大小写

Cod*_*e__ 0 java sorting collections

我正在尝试以相反的顺序订购我的收藏,并且不区分大小写

到目前为止,这是我尝试做的事情:

Collections.sort(obj,String.CASE_INSENSITIVE_ORDER,Collections.reverseOrder());
Run Code Online (Sandbox Code Playgroud)

输入:

varun,akash,shakshi,gowtham,VARUN 
Run Code Online (Sandbox Code Playgroud)

输出:

akash,gowtham,shashi,varun,VARUN
Run Code Online (Sandbox Code Playgroud)

有人能帮我吗?

And*_*eas 5

使用String.CASE_INSENSITIVE_ORDER.reversed()

例子

List<String> list = Arrays.asList("varun", "akash", "shakshi", "gowtham", "VARUN");

list.sort(null); // Natural order: [VARUN, akash, gowtham, shakshi, varun]
System.out.println(list);

list.sort(String.CASE_INSENSITIVE_ORDER); // [akash, gowtham, shakshi, VARUN, varun]
System.out.println(list);

list.sort(String.CASE_INSENSITIVE_ORDER.reversed()); // [VARUN, varun, shakshi, gowtham, akash]
System.out.println(list);

list.sort(Collator.getInstance().reversed()); // [VARUN, varun, shakshi, gowtham, akash]
System.out.println(list);
Run Code Online (Sandbox Code Playgroud)

第一种排序将“VARUN”放在“varun”之前。由于其他种类认为它们是平等的,因此它们保留其余种类的顺序。

引用javadoc CASE_INSENSITIVE_ORDER

请注意,此比较器不考虑区域设置,并且会导致某些区域设置的排序不令人满意。java.text 包提供了Collat​​ors来允许区域设置敏感的排序。

最后一个示例展示了如何使用Collator. 该示例使用 JVM 的默认区域设置。使用egCollator.getInstance(Locale.US)指定特定的区域设置。