JAVA基础算法——将字符串按照字典倒序排序并输出

来源:互联网 发布:手机淘宝6.10.3 编辑:程序博客网 时间:2024/06/14 16:22

JAVA基础算法——将字符串按照字典倒序输出
作者:飞不高的鱼
转载请注明出处

import java.util.Arrays;
import java.util.Comparator;
/**
* 将已知的乱序字符串按照字典倒序排序输出
*
* @author xiaobing
*
*/
public class ReverseDemo {

static String s = "1o3p56w89amcdejghi";public static void main(String[] args) {    reverse1();    reverse2();    reverse3();    reverse4();}/** * 使用StringBuffer * 先排序,然后直接调用reverse() */private static void reverse1() {    String st = sort(s);    System.out.println(new StringBuffer(st).reverse().toString());}/** * 使用StringBuilder * 同StringBuffer,效率优于StringBuffer */private static void reverse2() {    System.out.println(new StringBuilder(sort(s)).reverse().toString());}/** * 使用for循环遍历 */private static void reverse3() {    String s3 = sort(s);    for (int i = s3.length() - 1; i >= 0; i--) {        System.out.print(s3.charAt(i));    }    System.out.println();}/** * Arrays.sort(T[],自定义Comparator) * 先转成String[],然后对数组进行排序,最后遍历输出 */private static void reverse4() {    String[] ss = s.split("");    String[] ss2 = Arrays.copyOfRange(ss, 1, ss.length);    Arrays.sort(ss2, new Comparator<String>() {        @Override        public int compare(String o1, String o2) {            int i1 = o1.charAt(0);            int i2 = o2.charAt(0);            if (i1 > i2)                return -1;            if (i1 < i2)                return 1;            return 0;        }    });    for (String string : ss2) {        System.out.print(string);    }}/** * 将字符串按照字典顺序排序 * @param s * @return */private static String sort(String s) {    char[] chs = s.toCharArray();    Arrays.sort(chs);    return String.valueOf(chs);}

}

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182

输出结果:
wpomjihgedca986531
wpomjihgedca986531
wpomjihgedca986531
wpomjihgedca986531

原创粉丝点击