如果用Collections.reverseOrder(list)方法,这段代码的逆序该怎么写?
时间: 2024-09-25 09:18:52 浏览: 17
如果使用`Collections.reverseOrder(list)`方法,会返回一个新的Comparator,这个Comparator按照元素自然排序的相反顺序工作。这意味着当你调用`list.iterator().asList().sort(Collections.reverseOrder());`之后,原始列表会被按照降序排列。在这种情况下,你需要修改迭代的方式以便逆序遍历已经排序的列表。
以下是修改后的代码示例:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
Collections.sort(list, Collections.reverseOrder());
// 使用reverseOrder()后的迭代器
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
```
这里,由于列表已经被`Collections.reverseOrder()`进行了降序排序,所以直接使用默认的迭代器就可以得到逆序的效果。