Stream流常用操作

来源:互联网 发布:无备案域名 编辑:程序博客网 时间:2024/04/29 06:43
package com.neutron.java8.stream.demo;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;import java.util.stream.Stream;/** * Stream常用操作 * @author zhanght * */public class StreamEg {/** * collect方法 * 用途:collect(toList)方法由stream里的值生成列表,及早操作运算 * Stream中的of方法使用一组初始值生成新的Stream */public static void collectEG() {List<String> collected = Stream.of("a", "b", "c", "d").collect(Collectors.toList());System.out.println("result:" + collected);// result:[a, b, c, d]}/** * map方法 * 用途:将一种类型值转化为另外一种类型,将一个流中的值转换为新的流 */public static void mapEG(){// java8的处理方式List<String> maped= Stream.of("a", "b", "c", "d")  .map(str -> str.toUpperCase())  .collect(Collectors.toList());System.out.println("java8 result:" + maped);//java8 result:[A, B, C, D]// java6和5处理方式String[] arrs = {"a", "b", "c", "d"};List<String> arrList = new ArrayList<>();for (String arr:arrs) {arrList.add(arr.toUpperCase());}System.out.println("java5,6 result:" + arrList);// java5,6 result:[A, B, C, D]}/** * filter方法 * 用户:遍历数据并检查其中的元素内容 */public static void filterEG(){// java5,6List<String> target56 = new ArrayList<>();for(String arr:Arrays.asList("1qwe", "sdf", "5wer")) {if (Character.isDigit(arr.charAt(0))) {target56.add(arr);}}System.out.println("java5,6 result:" + target56);// java5,6 result:[1qwe, 5wer]// java8List<String> target8 = Stream.of("1qwe", "sdf", "5wer")                     .filter(str -> Character.isDigit(str.charAt(0)))                     .collect(Collectors.toList());System.out.println("java8 result:" + target8);// java8 result:[1qwe, 5wer]}/** * flatMap方法 * 作用:将多个Stream连接成一个Stream流 */public static void flatMapEG() {List<Integer> numbers8 = Stream.of(Arrays.asList(1, 2, 3), Arrays.asList(1, 4, 6)) .flatMap(numbers -> numbers.stream()) .collect(Collectors.toList());System.out.println("java8 result:" + numbers8);// java8 result:[1, 2, 3, 1, 4, 6]}public static void main(String[] args) {//collectEG();//mapEG();//filterEG();flatMapEG();}}

0 0
原创粉丝点击