Java怎么按照汉字字典顺序给字符串排序?

Python021

Java怎么按照汉字字典顺序给字符串排序?,第1张

//按照中文第一个字母升序排列的实现\x0d\x0aimport java.text.Collator \x0d\x0aimport java.util.Arrays \x0d\x0aimport java.util.Comparator \x0d\x0apublic class test { \x0d\x0a/** \x0d\x0a * @param args \x0d\x0a */ \x0d\x0apublic static void main(String[] args) { \x0d\x0a// TODO Auto-generated method stub \x0d\x0aComparator com=Collator.getInstance(java.util.Locale.CHINA) \x0d\x0aString[] newArray={"上海","天津","广州","杭州","辽宁","南京","武汉","北京","厦门","内蒙"} \x0d\x0aArrays.sort(newArray,com) \x0d\x0afor(String i:newArray){ \x0d\x0aSystem.out.print(i+" ") \x0d\x0a} \x0d\x0a} \x0d\x0a}

public class test{

public static void main(String[] args) {

String[] str = {"acbcc","bgd","abvc","fkei","dsad","gt"}

String temp

System.out.print("排序前数组:")

for (int i = 0i <str.lengthi++) {

System.out.print(str[i]+"\t")

}

System.out.println("")

for (int i = 0i <str.lengthi++) {

for (int j = 0j <str.length - i - 1j++) {

/**冒泡排序比较说明:

1.先取出每一个元素字符第一个字符(substring(0,1)这个就是取第一个元素的字符)

2.然后将这个字符串转换成char型(charAt(0)这个就是将一个单字符串转换成char型)

3.接着将char型字符转换成整型(这一步只要是求一个字符的ASCII码,因为ASCII码是一个整型数字,这样做是便于比较)

4.最后通过比较使用冒泡排序

*/

if ((int)(str[j].substring(0,1).charAt(0)) >(int)(str[j+1].substring(0,1).charAt(0))) {

temp = str[j]

str[j] = str[j+1]

str[j+1] = temp

}

}

}

System.out.print("排序后数组:")

for (int i = 0i <str.lengthi++) {

System.out.print(str[i]+"\t")

}

}

}

import java.util.*

public class  CharSort

{

private static Scanner sc=new Scanner(System.in)

private static StringBuffer sb=new StringBuffer()

public static void main(String[] args) 

{

System.out.println("\n\t\t==========字符串排序!==========\n")

init()

}//初始化!

private static void init()

{

System.out.println("请输入:")

for (  )

{

String a=input()

char[] arr=a.toCharArray()

Arrays.sort(arr)

sb.append(a)

print(arr,sb)

}

}

//扫描!

private static String input()

{

String a=sc.nextLine()

return a

}

//打印!

private static void print(char[] arr,StringBuffer sb)

{

System.out.println("\n字符串排序演示:")

for (int i=0i<arr.length i++ )

{

System.out.print(arr[i])

}

System.out.println("\n=====================\n倒序演示:")

System.out.print(sb.reverse())

}

}