自定义字符串排序

来源:互联网 发布:centos 6关闭防火墙 编辑:程序博客网 时间:2024/06/05 01:20

public class MyString implements Comparable<MyString>{    String a;    public MyString(String a){        this.a=a;    }    public String getMyString(){        return a;    }    @Override    public int compareTo(MyString o) {        int result=0;        char[] aa=a.toCharArray();        char[] oo=o.getMyString().toCharArray();        int num1=aa.length;        int num2=oo.length;        if(num1>num2){            num1=num2;            result=1;        }        for(int i=0;i<num1;i++){            double my=(double)aa[i];            double you=(double)oo[i];            if('a'<=my&&'z'>=my){                my=my-('a'-'A')+0.5;            }            if('a'<=you&&'z'>=you){                you=you-('a'-'A')+0.5;            }            if(my>you){                return 1;            }else if(my<you){                return -1;            }        }        return result;    }    public static void main(String[] args){        List<MyString> myStrings=new ArrayList<>();        MyString s=new MyString("Bc");        myStrings.add(s);        s=new MyString("Ad");        myStrings.add(s);        s=new MyString("aC");        myStrings.add(s);        s=new MyString("Hello");        myStrings.add(s);        s=new MyString("X man");        myStrings.add(s);        s=new MyString("little");        myStrings.add(s);        s=new MyString("During");        myStrings.add(s);        s=new MyString("day");        myStrings.add(s);        Collections.sort(myStrings);        for(MyString str:myStrings){            System.out.print(str.getMyString()+"  ");        }    }}
Ad  aC  Bc  During  day  Hello  little  X man  
Process finished with exit code 0


0 0