JAVA8-Stream-Map 转换

  1. 对 List 中的元素进行转换
    1. 简单转换 mapToInt
    2. 复杂转换
      1. map
    3. “order by” 排序

对 List 中的元素进行转换

简单转换 mapToInt

List<Demo> data = DataUtil.getData(20);
//bean 转 数值类
//long double 同理
int[] ints = data.stream().mapToInt(Demo::getId).toArray();
System.out.println(Arrays.toString(ints));

复杂转换

map
        //bean to bean 转换,一般用于 vo dto ..直接转换
        List<DemoDto> collect = data.stream().map(new Function<Demo, DemoDto>() {
            @Override
            public DemoDto apply(Demo demo) {
                //入参为转换前的对象,出差为转换后的对象
                return new DemoDto(demo);
            }
        }).collect(Collectors.toList());
        //另一种语法,java 提供的语法糖
        collect = data.stream().map(DemoDto::new).collect(Collectors.toList());

“order by” 排序

我个人这么叫的,无所谓。顾名思义和 sql 的排序一样,根据多个字段排序。

//先根据性别排序,在根据id排序
collect = data.stream()
        .sorted(Comparator
                .comparing(Demo::getSex)
                .thenComparing(Demo::getId)
        )
        .peek(System.out::println)
        .collect(Collectors.toList());

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 rockeycui@163.com

文章标题:JAVA8-Stream-Map 转换

文章字数:195

本文作者:崔石磊(RockeyCui)

发布时间:2020-06-16, 18:21:02

原始链接:https://cuishilei.com/java8-stream-demo3.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏