簡體   English   中英

如何使用流將對象列表轉換為另一個列表對象?

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

下面的代碼片段已經實現,沒有lambda表達式。

如何使用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;
    }
}

在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()輸入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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM