This question already has answers here:
How to determine if a List is sorted in Java?
                            
                                (13个回答)
                            
                    
                2年前关闭。
        

    

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次全面检查。

10-06 02:36