zoukankan      html  css  js  c++  java
  • 利用jdk8的新特性将一个对象集合转化为其他对象集合的方式

    1  以下代码主要利用jdk8中的lambda表达式, 和集合的stream()流 

    2  建立Person类和Student类,student继承Person

    package demo;

    public class Person {
    private String name;
    private Long pId;

    public Person() {
    }

    public Person(String name, Long pId) {
    this.name = name;
    this.pId = pId;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public Long getpId() {
    return pId;
    }

    public void setpId(Long pId) {
    this.pId = pId;
    }
    }




    package demo;

    public class Student extends Person {
    private String schoolName;
    private Long sId;

    public String getSchoolName() {
    return schoolName;
    }

    public void setSchoolName(String schoolName) {
    this.schoolName = schoolName;
    }

    public Long getsId() {
    return sId;
    }

    public void setsId(Long sId) {
    this.sId = sId;
    }
    @Override
    public String toString() {
    return this.getName()+"-"+this.getpId()+"-"+this.getSchoolName()+"-"+this.getsId();
    }
    }


    3  建立主函数,测试

    package demo;

    import org.springframework.beans.BeanUtils;

    import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;

    public class demo {
    public static void main(String[] args) {

    List<Person> persons = Arrays.asList(
    new Person("张三", 1L),
    new Person("李四", 2L)
    );
    // 将Peson集合转化为String集合

    List<String> strs=persons.stream().map(person -> person.getName()).collect(Collectors.toList());

    System.out.println("strs = " + strs);

    // 将Person集合转化为Student集合

    List<Student> students = persons.stream().map(person -> {
    Student student = new Student();
    BeanUtils.copyProperties(person, student);
    if (person.getName() == "张三") {
    student.setSchoolName("三中");
    student.setsId(3L);
    }
    if (person.getName() == "李四") {
    student.setSchoolName("四中");
    student.setsId(4L);
    }
    return student;
    }).collect(Collectors.toList());
    System.out.println("students = " + students);

    }
    }


  • 相关阅读:
    安装archlinux的另辟蹊径的命令及心得
    deepin15.11安装N卡驱动,实测!!!(可解决N卡电脑关机卡屏)
    js实现简单下载
    微信公众号的开发 该公众号提供的服务出现故障,请稍后再试
    线程池的创建
    多线程,生产者消费者模型(生产馒头,消费馒头)
    第1章 Java IO系统 下
    T01章[Java IO系统] 作业
    第1章 Java IO系统
    用集合实现一个控制台版的学生管理系统
  • 原文地址:https://www.cnblogs.com/zxq-Study-Java/p/10040632.html
Copyright © 2011-2022 走看看