JAVA代码训练营救——TreeSet的泛型实现

import java.util.*;
class GenericDemo2 {
    public static void main(String[] args)
    {
        TreeSet<String>ts = new TreeSet<String>(new LenComparator());
        ts.add("abcd");
        ts.add("cc");
        ts.add("cba");
        ts.add("aaa");
        ts.add("z");
        ts.add("hahah");

        Iterator<String>it = ts.iterator();
        while(it.hasNext())
        {
            String s = it.next();
            System.out.println(s);
        }
    }
}

class LenComparator implements Comparator<String> {
    public int compare(String o1,String o2)
    {
        int num = new Integer(o1.length()).compareTo(new Integer(o2.length()));
        if(num==0)
            return o1.compareTo(o2);
        return num;
    }
}

结果:
z
cc
aaa
cba
abcd
hahah
如果上面修改o1和o2位置换一下就能够按照从长到短排列。

public int compare(String o1,String o2)
    {
        int num = new Integer(o2.length()).compareTo(new Integer(o2.length()));
        if(num==0)
            return o2.compareTo(o1);
        return num;
    }

结果:
hahah
abcd
cba
aaa
cc
z

你可能感兴趣的:(java,String,泛型,C语言,Class)