private static LinkedList<Integer> melhorMoto1 = new LinkedList<>();
我知道我可以做一些事情,比如创建一个新的 LinkedList,使用 newLinkedList = melhorMoto1;
并做Collections.sort(newLinkedList);
和newLinkedList.equals(melhorMoto1 );
但当我使用递归函数时,newLinkedList = melhorMoto1;
是一个非常慢的归因。我可以检查 LinkedList 是否是通过方法或其他方式排序的吗?
最佳答案
在 Java 8 中,您可以使用 Comparators.isInOrder(Iterable)
为 List
(或任何其他有序集合)实现此目的。
在 Java 7 之前,请自行执行:要检查任何 List
是否按升序排序,只需迭代它并检查当前元素 cur
是否更大或等于每个相邻元素对的前一个元素 prev
。
将其更改为小于或等于降序排列。这需要 size() - 1
次检查。
关于java - 我如何知道我的 LinkedList 是否已被订购?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45746571/