Java Stream操作
流水线式的处理数据
- 生产流的方式
- Collection集合
- Map集合
- 数组
- 中间操作
- Stream
filter(Predicate predicate)利用谓词接口进行过滤筛选. - Stream
limit(long n)截断流中数据,n为返回个数 - Stream
skip(long n)指定跳过n个数据,返回剩下的流 - static
Stream concat(Stream a,Stream b)组合两个流成一个流 - Stream
distinct()返回流中独特的元素组成的流 - Stream
sorted()返回自然排序后的流 - Stream
sorted(Comparator comparator)返回经过自定义比较器的排序流 Stream map(Function mapper)返回经过指定函数处理的结果的流 - IntStream mapToInt(ToIntFunction mapper)返回IntStream,源流映射成Int流
- Stream
- 终结操作
- 一般操作
- void forEach(Consumer action)指定消费器,对每个流中元素进行消费
- long count()返回流中元素个数
- 收集操作
- R collect(Collector collector)把结果收集到集合中
- Collectors
- public static
Collector toList() 收集流到List集合中 - public static
Collector toSet() 收集流得到Set集合中 - public static Collector toMap(Function keyMapper,Function valueMapper) 收集元素到Map集合中
- 此工具类返回的都是包含所有元素的Collector
- public static
- 一般操作
实例操作Stream
- Collection生成Stream
1 | List<String> list = new ArrayList<String>(); |
- Map系列生成Stream
1 | Map<String,Integer> map = new HashMap<String,Integer>(); |
- 数组生成Stream
1 | String[] strArray = {"hell","world","niubi"}; |