可比较类是否比较基于长度或ascii值的字符串? Java的
问题描述:
我有一个字符串的文件看起来像:可比较类是否比较基于长度或ascii值的字符串? Java的
IX: {Series|(} {2}
IX: {Series!geometric|(} {5}
...
我写了一个二叉搜索树类,现在我想按字母顺序排列的字符串。字符串应该按字母顺序排列,因为我正在做的整体任务是创建一个索引(一本书末尾的索引)。我想知道的是:可比较的类是否比较基于ascii值或字符串长度的字符串?如果它是基于长度的,我怎样才能将这些字符串字母化?
感谢
答
假设你指的是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]
有没有这样的事情在'Java'为'Comparable' *类*。 Java确实有'Comparable' *接口*。那么你到底在问什么? – 2014-10-19 02:59:55
您是否知道这些东西的源代码可以免费下载/查看?事实上,你现在可能已经在你的计算机上有了代码! – csmckelvey 2014-10-19 03:01:30
字符串比较*自己*按字母顺序排列,如果这就是你真正要求的。请参阅[Javadoc](http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#compareTo(java.lang.String))。 – EJP 2014-10-19 03:05:49