java - 我如何知道我的 LinkedList 是否已被订购?

标签 java

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/

相关文章:

java - 是否可以从 Java 启动交互式进程?

java - 将自定义数据映射存储为 ServletContext 中的属性?

java - JFormattedTextField 破坏 DocumentFilter

java - 如何为JButton设置自定义渐变?

java - 如何在java类中使用外部javascript函数

java - 查找数组中某个数字的次数

java.net.ConnectException 消息 : Connection timed out: connect

Java 线程 - 当第一个线程完成时关闭其他线程

java - JSP EL 和范围属性混淆

java - 使用 jQuery 根据 servlet 的返回值显示 div