day06-14-stream中间操作

package day06.java8;

// stream 对集合和数组提供一些流化的操作
import com.google.common.collect.Lists;

import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.stream.Stream;

public class StreamDemo01 {
    public static void main(String[] args) {
        List<String> list = Lists.newArrayList("adbc","acd","bcdd","efdww","ab");
        // 一、获取流
        // 集合获取流1
        Stream<String> stream = list.stream();
        // 集合获取流2,获取并行流,处理的快
        Stream<String> stream1 = list.parallelStream();

        //数组获取流
        Stream<String> stream2 = Arrays.stream(new String[]{"ab", "bc"});
        // 转换成并行流
        Stream<String> parallel = stream2.parallel();

        //二、流的操作--流的中间操作
        // 中间操作有很多,可以串起来
        //list.stream().map().map().filter();
        // filter(),传一个断言型的接口(筛选以a开头的字符串)
        //forEach 结束操作
        list.stream()
                .filter(str->str.startsWith("a")) // 过滤+断言型接口
                .map(str->str.toUpperCase()) // 转换型
                .sorted(((o1, o2) -> o1.length()-o2.length())) // 排序
                .limit(2)//取前2个
                .forEach(str-> System.out.println(str)); //结束+消费型接口
        System.out.println("====================");
        List<String> list1 = Lists.newArrayList("acd","acd","bcdd","efdww","ab");
        // distinct 去重
        list1.stream().distinct().forEach(str -> System.out.println(str) );
        

        //三、流的操作--流的结束操作




    }
}

上一篇:Day06


下一篇:day06-04-jdbc-rowmapper