简体   繁体   English

如何使用流将对象列表转换为另一个列表对象?

[英]How to convert list of object to another list object using streams?

The below code snippet, has been implemented without lambda expressions. 下面的代码片段已经实现,没有lambda表达式。

How to implement the same functionality using lambda expressions? 如何使用lambda表达式实现相同的功能?

public class Java8EmpTest {
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        List<Emp> empInList = Arrays.asList(new Emp(1, 100), new Emp(2, 200), new Emp(3, 300));
        List<Emp> afterSalayHikeInJava7 = new ArrayList<>();
        // old way
        for (Emp emp : empInList) {
            afterSalayHikeInJava7.add(new Emp(emp.getId(), emp.getSalary() * 100));
        }
        afterSalayHikeInJava7.stream()
                .forEach(s -> System.out.println("Id :" + s.getId() + " Salary :" + s.getSalary()));
    }
}

class Emp {
    private int id;
    private int salary;

    public int getId() {
        return id;
    }

    Emp(int id, int salary) {
        this.id = id;
        this.salary = salary;
    }

    public int getSalary() {
        return salary;
    }
}

Simple use map() method in stream api and collect results: 在stream api中简单使用map()方法并收集结果:

  List<Emp> employe = Arrays.asList(new Emp(1, 100), new Emp(2, 200), new Emp(3, 300));
  List<Emp> employeRise = employe.stream()
                                 .map(emp -> new Emp(emp.getId(), emp.getSalary * 100))
                                 .collect(Collectors.toList());
  employeRise.stream()
            .forEach(s -> System.out.println("Id :" + s.getId() + " Salary :" + s.getSalary()));

map() each Emp of the input List to a new Emp and then collect() to a List : map()输入List每个Emp到一个新的Emp然后collect()到一个List

List<Emp> afterSalayHike = 
    empInList.stream()
             .map(emp->new Emp(emp.getId(), emp.getSalary() * 100))
             .collect(Collectors.toList());

转换列表<object>至 Map <integer, list<object> &gt; 使用 Java 8 流 API<div id="text_translate"><p> 我有List&lt;Object&gt; ,我想将其转换为Map&lt;Integer, List&lt;Object&gt;&gt; ,其中 key 是列表的大小,value 是使用 java 8 个流 api 的列表本身。 我可以使用 Java 7 作为</p><pre>Map&lt;Integer, List&lt;Object&gt;&gt; map= new HashMap&lt;&gt;(); map.put(list.size(), list);</pre><p> 但是如何使用 Java 8 来做到这一点。</p></div></integer,></object> - Convert List<Object> to Map<Integer, List<Object>> using Java 8 Streams API

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Java:使用流转换列表 <Object> 到另一个列表 <anotherObject> - Java : use Streams to convert List<Object> to another List<anotherObject> 使用Streams将列表对象复制到具有修改内容的另一个列表对象 - copying list object to another list object with modified content using Streams 使用 Streams,查看列表是否包含来自另一个列表的 object 的属性 - Using Streams, see if a list contains a property of an object from another list 如何使用流将Java bean列表转换为另一个bean列表 - How to convert list of java bean to another list of beans using streams 如何使用流将嵌套的 object 列表转换为具有相似信息的对象列表 - How to convert list of nested object to list of objects with similar informations using streams 如何转换清单 <Object> 到地图 <String , List<String> &gt;使用Java 8流? - How to convert List<Object> to Map<String , List<String>> using java 8 streams? 转换为清单 <AnotherObject> 从清单 <Object> ,列表 <Object> 使用流Java 8 - Convert to List<AnotherObject> from List<Object>,List<Object> using streams Java 8 使用 Java 8 Streams 从另一个创建对象列表 - Create list of object from another using Java 8 Streams 转换列表<object>至 Map <integer, list<object> &gt; 使用 Java 8 流 API<div id="text_translate"><p> 我有List&lt;Object&gt; ,我想将其转换为Map&lt;Integer, List&lt;Object&gt;&gt; ,其中 key 是列表的大小,value 是使用 java 8 个流 api 的列表本身。 我可以使用 Java 7 作为</p><pre>Map&lt;Integer, List&lt;Object&gt;&gt; map= new HashMap&lt;&gt;(); map.put(list.size(), list);</pre><p> 但是如何使用 Java 8 来做到这一点。</p></div></integer,></object> - Convert List<Object> to Map<Integer, List<Object>> using Java 8 Streams API 我可以使用流创建一个列表,其中标准是检查一个列表,然后将 object 添加到另一个列表? - Can I create a list using streams where the critera are to check one list then add an object to another list?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM