如何按字母顺序对字符串进行排序java

我想按字母顺序对JAVA中的字符串进行排序,如下所示,大写字母和小写字母跟随AaBbCcDdEeFfGg。 例如,如果我把AbaC归还给我AabC谢谢!!

如果先将字符放入数组中,则可以使用Arrays.sort执行此操作。 (它必须是Character对象的数组而不是char基元,以便使用自定义的不区分大小写的比较器。)

 // put the characters into an array Character[] chars = new Character[str.length()]; for (int i = 0; i < chars.length; i++) chars[i] = str.charAt(i); // sort the array Arrays.sort(chars, new Comparator() { public int compare(Character c1, Character c2) { int cmp = Character.compare( Character.toLowerCase(c1.charValue()), Character.toLowerCase(c2.charValue()) ); if (cmp != 0) return cmp; return Character.compare(c1.charValue(), c2.charValue()); } }); // rebuild the string StringBuilder sb = new StringBuilder(chars.length); for (char c : chars) sb.append(c); str = sb.toString(); 

您可以尝试查找Collections.sort然后尝试这样: –

 Collections.sort(caps, String.CASE_INSENSITIVE_ORDER); 

像这样: –

 private static Comparator ALPHA_ORDER = new Comparator() { public int compare(String str1, String str2) { int x = String.CASE_INSENSITIVE_ORDER.compare(str1, str2); if (x== 0) { x= str1.compareTo(str2); } return x; } }; Collections.sort(list, ALPHA_ORDER); 

编辑:-

对于按字母顺序排序的字符串尝试如下: –

 Collator col = Collator.getInstance(new Locale("en", "EN")); String s = "AbaC"; String[] s1= s.split(""); Arrays.sort(s1, col); String sorted = ""; for (int i = 0; i < s1.length; i++) { sorted += s1[i]; } System.out.println(sorted); 

将String转换为字符数组,然后比较排序中每个字符的int值。

需要的方法: String.toCharArray();