Ric*_*cky 1 java arrays java-stream
我有一个数组,想将大于 9 的元素乘以 2 且小于或等于 9 的元素乘以 3。
List<Integer> list = Arrays.asList(3, 6, 9, 12, 15);
list.stream().map(number -> number * 3).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
这个乘以 3 ,其中
list.stream().filter(number -> number>3).map(number -> number * 3).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
这一乘法但也过滤器。
我想要 3 ,6 ,9 乘以 3 和 12, 15 乘以 2。
任何帮助表示赞赏。
您可以结合filter和map步骤:
list.stream()
.map(n -> n > 9 ? n * 2 : n * 3)
.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)