码迷,mamicode.com
首页 > 编程语言 > 详细

Java8-Map

时间:2019-02-25 00:59:06      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:upper   div   ret   tag   ++   void   vat   err   uppercase   

1、Staff实体

public class Staff {

    private String name;

    private int age;

    private String address;

    public Staff() {
    }

    public Staff(String name, int age, String address) {
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "Staff{" +
                "name=‘" + name + ‘\‘‘ +
                ", age=" + age +
                ", address=‘" + address + ‘\‘‘ +
                ‘}‘;
    }
}

 

2、将字符串列表转换为大写

public class TextJava8Map1 {

    public static void main(String[] args) {

        List<String> alpha = Arrays.asList("a", "b", "c", "d");
        // 在Java8之前
        List<String> alphaUpper = new ArrayList<>();
        for (String s :alpha) {
            alphaUpper.add(s.toUpperCase());
        }
        System.out.println(alpha);
        System.out.println(alphaUpper);

        // Java8 map
        List<String> collect1 = alpha.stream()
                .map(String::toUpperCase)
                .collect(Collectors.toList());
        System.out.println(collect1);
    }
}

 

3、获取List对象列表中某个属性的集合(Developer在博客-Java8比较器)

public class TextJava8Map2 {

    public static void main(String[] args) {

        List<Developer> developers = Arrays.asList(
                new Developer("java", new BigDecimal(23231), 32),
                new Developer("c++", new BigDecimal(32432), 30),
                new Developer("spring", new BigDecimal(23121), 34)

        );
        // 在Java8之前
        List<String> names1 = new ArrayList<>();
        for (Developer developer : developers) {
            names1.add(developer.getName());
        }
        System.out.println(names1);

        // Java8 map
        List<String> names2 = developers.stream()
                .map(developer -> developer.getName())
                .collect(Collectors.toList());
        System.out.println(names2);


    }
}

 

4、将一个List对象列表转换为另一个List对象列表

public class TextJava8Map3 {

    public static void main(String[] args) {

        List<Developer> developers = Arrays.asList(
                new Developer("java", new BigDecimal(23231), 32),
                new Developer("c++", new BigDecimal(32432), 30),
                new Developer("spring", new BigDecimal(23121), 34)

        );
        // 在Java8之前
        List<Staff> staffs = convertToStaff(developers);
        System.out.println(staffs);

        // Java8 map
        List<Staff> result = developers.stream()
                .map(developer -> {
                    Staff staff = new Staff();
                    staff.setName(developer.getName());
                    staff.setAge(developer.getAge());
                    if ("c++".equals(developer.getName())) {
                        staff.setAddress("us");
                    }
                    return staff;
                })
                .collect(Collectors.toList());
        System.out.println(result);
    }

    private static List<Staff> convertToStaff(List<Developer> developers) {

        List<Staff> staffs = new ArrayList<>();
        for (Developer developer :developers) {
            Staff staff = new Staff();
            staff.setName(developer.getName());
            staff.setAge(developer.getAge());
            if ("java".equals(developer.getName())) {
                staff.setAddress("us");
            }
            staffs.add(staff);
        }

        return staffs;
    }
}

 

Java8-Map

标签:upper   div   ret   tag   ++   void   vat   err   uppercase   

原文地址:https://www.cnblogs.com/fengkunangel/p/10428653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!