Stream流操作(中间)
操作符 | 功能 |
---|---|
filter | 条件过滤 |
map | 返回的是每个元素的转换对象 |
flatMap | 返回的是每个元素拆解后的流 |
distinct | 去重 |
sorted | 排序 |
limit | 返回前n个数 |
skip | 跳过前n个元素 |
peek | 瞥一眼每个元素 |
- filter
//过滤出大于5的数(符合条件的数据会被保留)
Stream.of(1, 2, 3, 4, 5, 6).filter(integer -> integer>5).forEach(System.out::println);
- map
//把每个元素加1后输出
Stream.of(1, 2, 3, 4, 5, 6).map(integer -> integer.intValue()+1).forEach(System.out::println);
- flatMap
//把元素按照:切割成多个元素
Stream.of("java:1", "android:2", "phthon:3").flatMap(str->Arrays.stream(str.split(":"))).forEach(System.out::println);
- distinct
//元素去重
Stream.of(1,2,1,2).distinct().forEach(System.out::println);
- sorted
//元素排序
Stream.of(1,2,4,5,6,3).sorted().forEach(System.out::println);
- peek
//元素偷瞄(平时我都是用作调试)
Stream.of(1, 2, 3, 4, 5, 6).peek(System.out::println).forEach(System.out::println);
- skip
//跳过两个元素
Stream.of(1, 2, 3, 4, 5, 6).skip(2).forEach(System.out::println);
- limit
//只返回前5个元素
Stream.of(1, 2, 3, 4, 5, 6).limit(5).forEach(System.out::println);
//分页常用(每页2个,查第二页)
Stream.of(1, 2, 3, 4, 5, 6).skip(2).limit(2).forEach(System.out::println);
网友评论