Pra*_*abu 7 java arrays sorting
我有一个具有以下值的数组列表
ArrayList [Admin,Readonly,CSR,adminuser,user,customer]
Run Code Online (Sandbox Code Playgroud)
当我用的时候
Collections.sort(ArrayList)
Run Code Online (Sandbox Code Playgroud)
我得到了以下结果
[Admin,CSR,Readonly,adminuser,customer,user]
Run Code Online (Sandbox Code Playgroud)
根据Java文档,上面的结果是正确的,但我的期望是(排序与案例无关(大/小写)
[Admin,adminuser,CSR,customer,Readonly,user]
Run Code Online (Sandbox Code Playgroud)
提供帮助如何进行排序,无论java中的情况如何,是否有任何其他方法可用
注意:我将进行自动测试以检查Web表中的排序顺序
问候
prabu
这样做,
Collections.sort(yourList, String.CASE_INSENSITIVE_ORDER);
Run Code Online (Sandbox Code Playgroud)
这是我试过的,
ArrayList<String> myList=new ArrayList<String>();
Collections.addAll(myList,"Admin","Readonly","CSR","adminuser","user","customer");
System.out.println(myList);
Collections.sort(myList, String.CASE_INSENSITIVE_ORDER);
System.out.println(myList);
Run Code Online (Sandbox Code Playgroud)
我得到以下输出,
[Admin, Readonly, CSR, adminuser, user, customer]
[Admin, adminuser, CSR, customer, Readonly, user]
Run Code Online (Sandbox Code Playgroud)
public class SortIgnoreCase implements Comparator<Object> {
public int compare(Object o1, Object o2) {
String s1 = (String) o1;
String s2 = (String) o2;
return s1.toLowerCase().compareTo(s2.toLowerCase());
}
}
Run Code Online (Sandbox Code Playgroud)
然后
Collections.sort(ArrayList, new SortIgnoreCase());
Run Code Online (Sandbox Code Playgroud)