这个程序怎么改就行了?? 我想看看TreeSet是怎样排列输出的
import java.util.*;
public class TreeSetTest1
{
public static void main(String[] args)
{
SortedSet<String> parts = new TreeSet<String>();
parts.add("Toaster");
parts.add("Widget");
parts.add("Modem");
System.out.println(parts);
}
}
import java.util.*;
public class TreeSetTest1
{
public static void main(String[] args)
{
SortedSet<String> parts = new TreeSet<String>();
parts.add("Toaster");
parts.add("Widget");
parts.add("Modem");
System.out.println(parts);
}
}
public class TreeSetTest1
{
public static void main(String[] args)
{
SortedSet<String> parts = new TreeSet<String>();
parts.add("啊");
parts.add("吧");
parts.add("次");
System.out.println(parts);
}
}
如果你是想让Treeset根据你的方式排序,需要将类实现Comparable接口,很明显String是实现了这个接口的(按首字母的ascii码排的)。
如果你想改变排序方式,就需要新写一个比较器。
对于普通的字母来说,很简单,可以当成ascii码的相减。但是对于汉字,这个会占用两个字节,对于顺序这个我不熟悉,据说是按GBK编码规定的顺序,网上也能查到的。个人觉得直接打印更清晰。
System.out.println(Integer.valueOf('吧'));
System.out.println(Integer.valueOf('啊'));