zoukankan      html  css  js  c++  java
  • Java 8新特性:list.stream().map().collect()

    Stream
    Stream(流)是一个来自数据源的元素队列并支持聚合操作;
    map
    map 方法用于映射每个元素到对应的结果;
    Collectors
    Collectors 类实现了很多归约操作,例如将流转换成集合和聚合元素。Collectors 可用于返回列表或字符串。

    使用方式:

    1.首先创建一个实体类,添加部分属性;

    public class Student {
        public Student(String name,Integer age){
            this.name=name;
            this.age=age;
        }private String name;
        private Integer age;public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        @Override
        public String toString() {
            return "name="+getName()+", age="+getAge();
        }
    }

    2. 新建实体集合并添加几条数据;

     List<Student> list = new ArrayList<>();
     list.add(new Student("ymw", 30));
     list.add(new Student("yh", 30));

    返回结果:[name=ymw, age=30, name=yh, age=30]

    3. 清空某个属性的值并返回结果:

     list.stream().map(it ->
            {
                it.setName("");
                return it;
            }).collect(Collectors.toList());
    
    System.out.println(list.toString());

    返回结果:[name=, age=30, name=, age=30]

    4. 获取其中某个属性的集合:

    List collection = list.stream().map(Student::getAge).collect(Collectors.toList());
    System.out.println(collection.toString());

    返回结果:[30, 30]

  • 相关阅读:
    Lintcode415-Valid Palindrome-Medium
    Lintcode455-StudentID-Easy
    Lintcode241-String to Integer
    Lintcode521-Remove Duplicate Numbers in Array-Easy
    Lintcode214-Max of Array-Naive
    面试一个小公司,TPM相关概念
    C#, introduction, general
    make命令和makefile
    OS_Architecture_MemoryHierarchy
    Leecode_98_Validate_Binary_Search_Tree
  • 原文地址:https://www.cnblogs.com/_ymw/p/14685878.html
Copyright © 2011-2022 走看看