行字符串值排序,而不是按日期排序
比如1-Jan-03
        1-Feb-03
        1-Dec-02应该改为1-Feb-03
                        1-Jan-03
                        1-Dec-02
这个小程序应该怎么写

解决方案 »

  1.   

    实现Comparator接口吧!自定义一个比较器,想怎么比较就这么比较!
      

  2.   

    String[] a ={"1-Jan-03","1-Feb-03","1-Dec-02"};
    for(int i = 0;i<a.length;i++){
    for(int j = i;j<a.length-i-1;j++){
    String b;
    if(a[j].compareTo(a[j+1]) > 0){
    b=a[j];
    a[j]=a[j+1];
    a[j+1]=b;
    }
    }
    }
    for(int i = 0;i<a.length;i++){
    System.out.println(a[i]);
    }是这种吗?
      

  3.   

    你可以把他转换成日期再排序呀! final DateFormat df = new SimpleDateFormat("d-MMM-yy", Locale.US);
    String[] str = {"1-Jan-03","1-Feb-03","1-Dec-02"};
    Arrays.sort(str,new Comparator<String>() {
    @Override
    public int compare(String s1, String s2) {
    if(s1 != null && s2 != null){
    try {
    Date d1 = df.parse(s1);
    Date d2 = df.parse(s2);
    return -d1.compareTo(d2);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    }
    return 0;
    }
    });