Hey*_*you 2 java collections comparator
int min=Collections.min(list, Collections.reverseOrder());
Run Code Online (Sandbox Code Playgroud)
执行该函数后会输出什么reverseOrder?
这看起来像是一个关于Collections 的面试问题:
现在,Collections.reverseOrder是 一个Comparator,它颠倒了正常顺序,>变成了<,反之亦然。
因此以下语句是相同的:
int max = Collections.min(list, Collections.reverseOrder());
int max = Collections.max(list);
Run Code Online (Sandbox Code Playgroud)
而结果却是最大值。
没有真正的速度惩罚,因为列表本身没有被修改,列表也没有被复制。a 的复杂度List是O(N):需要遍历所有元素。
如果可行的话,使用“ SortedSetlike”TreeSet代替“a”List会更好。
| 归档时间: |
|
| 查看次数: |
2076 次 |
| 最近记录: |