zoukankan      html  css  js  c++  java
  • Java——Stream map

    一、介绍

    在Java 8中,Stream的map方法可以将对象转化为其他对象。

    二、例子

    2.1、大写字符串列表

    List<String> list = new ArrayList<>();
    Collections.addAll(list, "a", "b", "c");
    list = list.stream().map(String::toUpperCase).collect(Collectors.toList());
    System.out.println(list);   // [A, B, C]
    

    2.2、对象列表 -> 字符串列表

    List<Student> list = new ArrayList<>();
    Student stu1 = new Student("张三", 10);
    Student stu2 = new Student("李四", 30);
    Student stu3 = new Student("王五", 20);
    Collections.addAll(list, stu1, stu2 ,stu3);
    List<String> newList = list.stream().map(stu -> stu.getName()).collect(Collectors.toList());
    System.out.println(newList);   // [张三, 李四, 王五]
    

    2.3、对象列表 -> 其他对象列表

    // Student.java
    public class Student {
        private String name;
        private int age;
        //...
    }
    
    
    // Teacher.java
    public class Teacher {
        private String name;
        private int age;
        //...
    }
    
    // StreamMap.java
    public class StreamMap {
        public static void main(String[] args) {
            List<Student> list = new ArrayList<>();
            Student stu1 = new Student("张三", 24);
            Student stu2 = new Student("李四", 22);
            Student stu3 = new Student("王五", 25);
            Collections.addAll(list, stu1, stu2, stu3);
            List<Teacher> teacList = list.stream().map(stu -> {
               String name = stu.getName();
               int age = stu.getAge();
               return new Teacher(name, age);
            }).collect(Collectors.toList());
            teacList.stream().forEach(stu -> System.out.println(stu));
            //Teacher{name='张三', age=24}
            //Teacher{name='李四', age=22}
            //Teacher{name='王五', age=25}
        }
    }
    

      

      

  • 相关阅读:
    纯CSS星级评价
    Enterprise Library启用签名后发生 PublicKeyToken错误,HRESULT:0x80131040解决
    SQL Server
    该如何选择国外VPS
    网站的伪静态化
    kernel FIELD_SIZEOF宏 NULL地址不访问不出错
    Activity的四种加载模式
    Git magic 简短git使用命令集
    为什么包含多句代码的宏要用do while包括起来?
    使用lsof来查看FD和进程的关系
  • 原文地址:https://www.cnblogs.com/xulinjun/p/14804097.html
Copyright © 2011-2022 走看看