首页 > 其他分享 >Stream流中的常用方法map和count

Stream流中的常用方法map和count

时间:2022-10-18 11:35:59浏览次数:51  
标签:count map Stream stream 流中 list

如果需要将流中的元素映射到另一个流中,可以使用map方法。方法签名∶

<R> Stream<R> map(Function < ? super T, ? extends R > mapper);

该接口需要一个Function函数式接口参数,可以将当前流中的T类型数据转换为另一种R类型的流。

 

Function中的抽象方法:

此前我们已经学习过java.util.stream.Function 函数式接口,其中唯一的抽象方法为︰

R appLy (T t);

这可以将一种T类型转换成为R类型,而这种转换的动作,就称为"映射"。

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

统计个数:count

正如旧集合collection 当中的 size方法一样,流提供count方法来数一数其中的元素个数︰

long count();

该方法返回一个long值代表元素个数(不再像旧集合那样是int值)。基本使用:

/**
 * Stream流中的常用方法_count:用于统计stream流中元素的个数
 * Long count( );
 * count方法是一个终结方法,返回值是一个Long类型的整数
 * 所以不能再继续调用Stream流中的其他方法了
 */
public class Demo6Stream_count {
    public static void main(String[] args) {
        // 获取一个Stream流
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        list.add(6);
        // 把list方法转换为stream流
        Stream<Integer> stream = list.stream();
        // stream流中的元素个数
        long count = stream.count();
        // 输出6
        System.out.println(count);
    }
}

 

标签:count,map,Stream,stream,流中,list
From: https://www.cnblogs.com/shenziyi/p/16801968.html

相关文章