app.request.headers.get('referer')
执行$my_full_path= $path.DIRECTORY_SEPARATOR.$file;
函数后将输出什么?
答案 0 :(得分:3)
java.util.Collections.reverseOrder()
方法是java.util.Collections
类方法。
根据javadoc:
返回一个与自然顺序相反的比较器 在实现
Comparable
接口的对象集合上。 自然排序是对象自身施加的排序 compareTo方法public static Comparator reverseOrder()
您可以在以下站点上找到一些其他好的示例: https://www.geeksforgeeks.org/collections-reverseorder-java-examples/
在您的情况下,以下表达式是等效的:
Collections.min(list, Collections.reverseOrder())
Collections.max(list)
答案 1 :(得分:3)
有时候最好自己看看源代码。
public static <T> Comparator<T> reverseOrder() {
return (Comparator<T>) ReverseComparator.REVERSE_ORDER;
}
REVERSE_ORDER
只是ReverseComparator
内部类的对象。
static final ReverseComparator REVERSE_ORDER = new ReverseComparator();
答案 2 :(得分:3)
这似乎是关于Collections的采访问题:
现在,Collections.reverseOrder
是一个颠倒正常顺序的Comparator
,>
变成了<
,反之亦然。
因此以下语句相同:
int max = Collections.min(list, Collections.reverseOrder());
int max = Collections.max(list);
结果是 maximum 。
没有实际的速度损失,因为列表本身未修改,因此列表不会被复制。 List
的复杂度为 O(N):需要遍历所有元素。
在可行的情况下,使用像SortedSet
这样的TreeSet
而不是List
会更好。
答案 3 :(得分:2)
这里是一个示例,此功能只是将您的数字取反,而数字很低。检查此示例,希望您能理解它的作用。
import java.util.*;
public class HelloWorld{
public static void main(String []args){
List<Integer> nums = Arrays.asList(1, 10, 5, 23, 2, 3);
nums.stream()
.forEach(System.out::println);
nums.stream()
.sorted(Comparator.reverseOrder())
.forEach(System.out::println);
}
}