Stream流的特点-只能使用一次和Stream流的常用方法-map

Stream流的特点-只能使用一次

//supplier接口 获取一个指定类型的数据或数值
public class FuXi2 {
 
    //
// 总结:
// filter方法用来对Stream流中的数据进行过滤, 它的方法参数是一个predicate函数式接口可以使用lambda表达式
//    predicate中的accept方法
//    public boolean test(String s) {
//        return false;
//    }
    public static void main(String[] args) {
        Stream<String> stringStream = Stream.of("1", "2", "3", "4");//创建String类型的流对象集合
        Stream<String> stringStream1 = stringStream.filter((i) -> {
            return i.startsWith("1");
        });//调用filter方法对里面的的内容进行过滤,重写过滤方法 如果判断式true则保留反之删除
        stringStream.forEach(k-> System.out.println(k));//此流已经使用过 使用一次就关闭了 无法再执行其他方法
 
 
    }
 
}

Stream流的常用方法-map

/*
    如果需要将流中的元素映射到另一个流中,可以使用map方法.
    <R>Stream<R> map(Function<? super T, ? extends R> mapper);
    该接口需要一个Function函数式接口参数,可以将当前流中的7类型数据转换为另一种R类型的流。
    Function中的抽象方法:
    appLy(T t);

 */
public class Stream_map {
    public static void main(String[] args) {
        //获取一个string类型的stream流
        Stream<String> stream = Stream.of("1", "2", "3", "4");
        //使用map方法,把字符串类型的整数,转换(映射)为Integer类型的整数
        Stream<Integer> stream2 = stream.map((String s) -> {
            return Integer.parseInt(s);
        });
        //遍历Stream2流
        stream2.forEach(i -> System.out.println(i));

    }
}

 

posted @ 2022-07-20 10:07  漁夫  阅读(80)  评论(0)    收藏  举报