Collections.reverseOrder() 函数有什么作用?

Hey*_*you 2 java collections comparator

int min=Collections.min(list, Collections.reverseOrder());
Run Code Online (Sandbox Code Playgroud)

执行该函数后会输出什么reverseOrder

Joo*_*gen 5

这看起来像是一个关于Collections 的面试问题:

现在,Collections.reverseOrder是 一个Comparator,它颠倒了正常顺序,>变成了<,反之亦然。

因此以下语句是相同的:

int max = Collections.min(list, Collections.reverseOrder());
int max = Collections.max(list);
Run Code Online (Sandbox Code Playgroud)

而结果却是最大值

没有真正的速度惩罚,因为列表本身没有被修改,列表也没有被复制。a 的复杂度ListO(N):需要遍历所有元素。

如果可行的话,使用“ SortedSetlike”TreeSet代替“a”List会更好。