TreeSet 是一种有序的集合,如可以自动的按照字母表升序,数字的升序排序,但是我们可以通过重写Comparator的compare方法改变,使其成为我们自己想要的排序.如下~~
package cn.rwm.test;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
public class Test1
{
public static void main(String[] args)
{
TreeSet<String> set=new TreeSet<String>(new MyComparator());
set.add("A");
set.add("C");
set.add("B");
//遍历集合
for(Iterator it=set.iterator();it.hasNext();)
{
String str=(String)it.next();
System.out.println(str);
}
}
}
//实现comparator接口,重修compare方法
class MyComparator implements Comparator
{
@Override
public int compare(Object o1, Object o2)
{
String str1=(String)o1;
String str2=(String)o2;
return str2.compareTo(str1);
}
}
如果不重写compare方法,则会按照默认的排序输出:
A
B
C
重写后输出:
C
B
A