40 lines
1.3 KiB
Java
40 lines
1.3 KiB
Java
package jTest;
|
||
|
||
import java.util.Arrays;
|
||
import java.util.HashMap;
|
||
import java.util.List;
|
||
import java.util.Map;
|
||
import java.util.stream.IntStream;
|
||
|
||
public class StreamTest {
|
||
public static void main(String[] args) {
|
||
// 创建二维数组
|
||
List<List<String>> list1 = Arrays.asList(
|
||
Arrays.asList("a", "b", "c"),
|
||
Arrays.asList("a", "b", "c")
|
||
);
|
||
// 二维数组平整化
|
||
List<String> list = list1.stream().flatMap(List::stream).toList();
|
||
System.out.println(list);// [a, b, c, a, b, c]
|
||
|
||
// peek可以用来调试也可以塞对象,不改变流,如果你这个里面有对象,比如xxx.setXXX() 那么也会修改这个对象
|
||
List<String> list2 = list.stream().filter(s -> s.startsWith("a"))
|
||
.peek(System.out::println)
|
||
.map(String::toUpperCase).toList();
|
||
System.out.println(list2);// [A, A]
|
||
|
||
// 求和
|
||
int sum = IntStream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).sum();
|
||
System.out.println(sum);
|
||
|
||
// Map集合
|
||
Map<String, Integer> counts = new HashMap<>();
|
||
counts.put("apple", 1);
|
||
counts.put("banana", 1);
|
||
System.out.println(counts);
|
||
|
||
counts.compute("apple", (key, val) -> val == null ? 1 : val + 1);
|
||
System.out.println(counts);
|
||
}
|
||
}
|