【发布时间】:2016-07-22 02:32:44
【问题描述】:
我最近涉足函数式编程和 Java 8 lambda。我有一个整数数组,我想按升序对其进行排序。
我尝试使用 lambda 的方法如下:
Arrays.stream(intArray).sorted((x, y) -> Integer.compare(x, y) == -1);
问题在于我的编译器说:
Error:(12, 32) java: method sorted in interface
java.util.stream.IntStream cannot be applied to given types;
required: no arguments
found: (x,y)->Int[...]== -1
reason: actual and formal argument lists differ in length
我在这里缺少什么?
【问题讨论】:
-
流不提供对数组进行排序的方法,它们允许按排序顺序处理元素。原始数组未修改,在您的情况下,由于没有实际操作,因此根本不会发生任何事情。要对数组进行排序,请使用适用于
int[]和Integer[]的Arrays.sort(array);。
标签: java sorting lambda functional-programming java-8