2014-10-19 16 views
1

我有一个字符串的文件看起来像:可比较类是否比较基于长度或ascii值的字符串? Java的

IX: {Series|(}    {2} 
IX: {Series!geometric|(} {5} 
... 

我写了一个二叉搜索树类,现在我想按字母顺序排列的字符串。字符串应该按字母顺序排列,因为我正在做的整体任务是创建一个索引(一本书末尾的索引)。我想知道的是:可比较的类是否比较基于ascii值或字符串长度的字符串?如果它是基于长度的,我怎样才能将这些字符串字母化?

感谢

+1

有没有这样的事情在'Java'为'Comparable' *类*。 Java确实有'Comparable' *接口*。那么你到底在问什么? – 2014-10-19 02:59:55

+0

您是否知道这些东西的源代码可以免费下载/查看?事实上,你现在可能已经在你的计算机上有了代码! – csmckelvey 2014-10-19 03:01:30

+1

字符串比较*自己*按字母顺序排列,如果这就是你真正要求的。请参阅[Javadoc](http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#compareTo(java.lang.String))。 – EJP 2014-10-19 03:05:49

回答

2

假设你指的是Arrays.sort()Collections.sort()答案是 - 都不是。字符串按词典/字典(按字母顺序)排序。

例子:

String[] arr = {"bc", "bcc", "ab", "abc", "a", "bbc", "bb"}; 
    Arrays.sort(arr); 
    System.out.println(Arrays.toString(arr)); // prints [a, ab, abc, bb, bbc, bc, bcc] 
+2

他也可能指的是'TreeMap','PriorityQueue'或其他一些东西,都是不相关的。这个问题是'String.compareTo()'做的。 – EJP 2014-10-19 03:08:30

+0

@EJP true - 字符串自然顺序是字母顺序。 – alfasin 2014-10-19 03:13:24