6.8.5 使用Lambda表达式调用Arrays的类方法
Arrays
类的有些方法需要Comparator
、 XxxOperator
、XxxFunction
等接口的实例,这些接口都是函数式接口,因此可以使用Lambda
表达式来调用Arrays
的方法。
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import java.util.Arrays;
public class LambdaArrays { public static void main(String[] args) { String[] strArray = new String[] { "Java", "Hello", "World", "HTML", "JavaScript" };
Arrays.parallelSort(strArray, (o1, o2) -> o1.length() - o2.length()); System.out.println("排序:"+Arrays.toString(strArray));
int[] intArray = new int[] { 3, -4, 25, 16, 30, 18 }; Arrays.parallelPrefix(intArray, (left, right) -> left * right); System.out.println("累积:"+ Arrays.toString(intArray));
long[] longArray = new long[5]; Arrays.parallelSetAll(longArray, operand -> operand * 5); System.out.println("索引*5:"+Arrays.toString(longArray)); } }
|
运行结果:
1 2 3
| 排序:[Java, HTML, Hello, World, JavaScript] 累积:[3, -12, -300, -4800, -144000, -2592000] 索引*5:[0, 5, 10, 15, 20]
|
原文链接: 6.8.5 使用Lambda表达式调用Arrays的类方法