如果是这样的“010101”,“010201”,“010203”
那么呢给所有字段前加1,然后转换成int形然后用二差数等确定序列

解决方案 »

  1.   

    java.util.Arrays.sort(Object[] a, Comparator c)
      

  2.   

    java.util.Arrays.sort(Object[] a, Comparator c)
      

  3.   

    何必要自己亲自去设计算法呢
    用现成类啊
    ArrayList list=new ArrayList();
    list.add("010101");
    list.add("010003");
    list.add("010201");
    Collections.sort(list);
    可以排序完整测试代码为//Test.javaimport java.util.*;public class Test{
    public static void main(String[] args){
    ArrayList list=new ArrayList();
    list.add("010101");
    list.add("010003");
    list.add("010201");
    Collections.sort(list);

    for(int i=0;i<list.size();i++){
    System.out.println((String)list.get(i));
    }
    }
    }
      

  4.   

    kypfos(深圳不是我的家) 的方法实在是高明 !  学习ing !楼主注意在取出数据的时候向下转型,因为ArrayList存储的只能是Object对象!
      

  5.   

    public class AlphabeticComparator implements Comparator {
      public int compare(Object o1, Object o2) {
        String s1 = (String)o1;
        String s2 = (String)o2;
        return s1.toLowerCase().compareTo(s2.toLowerCase());
      }
    }
      

  6.   

    import java.io.*;public class SortThread extends Thread {
        private PrintWriter out = null;
        private BufferedReader in = null;    public SortThread(PrintWriter out, BufferedReader in) {
            this.out = out;
            this.in = in;
        }    public void run() {
            int MAXWORDS = 50;        if (out != null && in != null) {
                try {
                    String[] listOfWords = new String[MAXWORDS];
                    int numwords = 0;
     
                    while ((listOfWords[numwords] = in.readLine()) != null)
                        numwords++;
                    quicksort(listOfWords, 0, numwords-1);
                    for (int i = 0; i < numwords; i++)
                        out.println(listOfWords[i]);
                    out.close();
                } catch (IOException e) {
                    System.err.println("SortThread run: " + e);
                }
            }
        }    private static void quicksort(String[] a, int lo0, int hi0) {
            int lo = lo0;
            int hi = hi0;        if (lo >= hi)
                return;        String mid = a[(lo + hi) / 2];
            while (lo < hi) {
                while (lo<hi && a[lo].compareTo(mid) < 0)
                    lo++;
                while (lo<hi && a[hi].compareTo(mid) > 0)
                    hi--;
                if (lo < hi) {
                    String T = a[lo];
                    a[lo] = a[hi];
                    a[hi] = T;
                    lo++;
                    hi--;
                }
            }
            if (hi < lo) {
                int T = hi;
                hi = lo;
                lo = T;
            }
            quicksort(a, lo0, lo);
            quicksort(a, lo == lo0 ? lo+1 : lo, hi0);
        }
    }
      

  7.   

    yoken(雨泉) 的方法要好的多个人意见
      

  8.   

    在java中,最简单的方法排序字符串。
    例如,“010101”,“010201”,“010203”yoken(雨泉) 的方法根本就是多余!!
    JAVA里面 Arrays.sort 以及 Collections.sort
    是使用的改进过的快速排序算法!!
    快速排序算法到现在还是最快的排序算法啊!
    何必自己实现??