【发布时间】:2012-01-31 12:06:56
【问题描述】:
我有一个名为 account 的 ArrayList,其中包含字符串。我正在尝试编写一个方法来检查它们是否有序并根据它们是否有序返回真或假。
你会怎么做呢?我已经尝试使用 for 循环检查初始字符,但它出错了。我创建了一个新的 ArrayList 并将其设置为与原始数组相同,然后对其进行排序并比较它们,但由于它们包含相同的数据,因此它总是返回 true。
只是一个额外的快速问题,因为我正在为字符串执行此操作,您将如何检查某些数字是否按升序/降序排列?通过同一个校长?
谢谢!
【问题讨论】:
-
stackoverflow.com/questions/3047051/… 结合
String#compareTo(String)方法的 javadoc 应该可以帮助您完成 -
to any:使用 String.compareTo 并不意味着 alphabetical 顺序。需要 compareToIgnoreCase 或
java.text.Collator的某个版本 -
正确答案取决于您是否真的必须“编写方法”或“找出列表是否已排序”。在第二种情况下,最好不要实际编写方法并使用 Guava 的 Ordering 类等外部库(有关详细信息,请参阅我的答案)。只是不要成为轮子的另一位作者:)