簡體   English   中英

如何在 jdk8 中使用 streams for 循環?

[英]How use streams for loop in jdk8?

在jdk8中如何使用這樣的for循環。

for (ClassAttendanceParent classAttendanceParent : list) {
                TransportAttendanceFormBean tb = new TransportAttendanceFormBean();
                tb.setDate(classAttendanceParent.getAttendancedate().toString());
            }

在JDK8中(如何轉換上面的for循環)

  list.forEach((ClassAttendanceParent element) -> System.out.println(element.getAttendancedate()));

試試這個

    list.forEach(element->{
        TransportAttendanceFormBean tb = new TransportAttendanceFormBean();
        tb.setDate(element.getAttendancedate().toString());         
    });

或者(無需在每次迭代中創建新的 object)

  TransportAttendanceFormBean tb = new TransportAttendanceFormBean();
  list.forEach(element->{   
        tb.setDate(element.getAttendancedate().toString());         
    });

如何使用jdk8對ArrayList進行分組過濾<object><div id="text_translate"><p>這是周一的 Object 電話。 它有兩個屬性,開始和結束,都是字符串。 結束屬性可以包括“;” 像這樣</p><pre>Mon m1 = new Mon(); m1.setStart("A"); m1.setEnd("a;b"); Mon m2 = new Mon(); m2.setStart("A"); m2.setEnd("b"); Mon m3 = new Mon(); m3.setStart("C"); m3.setEnd("c"); Mon m4 = new Mon(); m4.setStart("A"); m4.setEnd("c");</pre><p> 這是 ArrayList。</p><pre> List&lt;Mon&gt; list = new ArrayList(); list.add(m1);list.add(m2);list.add(m3);list.add(m4);</pre><p> 現在我想按起始屬性和結束屬性對列表進行分組,但基於末尾包含“;”,所以我也想將 m1 和 m2 放入同一組,因為 m1.end 包含 m2.end ,但 m4 在另一組中,因為 m4 開始和結束與 m1,m2 不同。</p><p> 我嘗試使用 Collectors.groupingBy 按開始分組</p><pre>Map&lt;String, List&lt;Mon&gt;&gt; map = list.stream().collect(Collectors.groupingBy(d -&gt; d.getStart()));</pre><p> 但這不是我想要的 Output 的結果,如下所示:</p><pre> key: Aa;b OR Ab, value: m1, m2 key: Cc, value: m3 key: Ac, value: m4</pre><p> 有什么方法可以實現它,jdk8 stream function 更好</p><p>非常感謝</p></div></object>

[英]How to use jdk8 to group by and filter the ArrayList<Object>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 ActiveJDBC和JDK8流 將 JPublisher 與 jdk8 一起使用 如何讓Eclipse使用JDK8編譯項目? 如何使用jdk8對ArrayList進行分組過濾<object><div id="text_translate"><p>這是周一的 Object 電話。 它有兩個屬性,開始和結束,都是字符串。 結束屬性可以包括“;” 像這樣</p><pre>Mon m1 = new Mon(); m1.setStart("A"); m1.setEnd("a;b"); Mon m2 = new Mon(); m2.setStart("A"); m2.setEnd("b"); Mon m3 = new Mon(); m3.setStart("C"); m3.setEnd("c"); Mon m4 = new Mon(); m4.setStart("A"); m4.setEnd("c");</pre><p> 這是 ArrayList。</p><pre> List&lt;Mon&gt; list = new ArrayList(); list.add(m1);list.add(m2);list.add(m3);list.add(m4);</pre><p> 現在我想按起始屬性和結束屬性對列表進行分組,但基於末尾包含“;”,所以我也想將 m1 和 m2 放入同一組,因為 m1.end 包含 m2.end ,但 m4 在另一組中,因為 m4 開始和結束與 m1,m2 不同。</p><p> 我嘗試使用 Collectors.groupingBy 按開始分組</p><pre>Map&lt;String, List&lt;Mon&gt;&gt; map = list.stream().collect(Collectors.groupingBy(d -&gt; d.getStart()));</pre><p> 但這不是我想要的 Output 的結果,如下所示:</p><pre> key: Aa;b OR Ab, value: m1, m2 key: Cc, value: m3 key: Ac, value: m4</pre><p> 有什么方法可以實現它,jdk8 stream function 更好</p><p>非常感謝</p></div></object> 使用 JDK8 Streams 和 CompletableFuture 調用 WebService 和 REST API 是否可以將ojdbc7.jar與JDK8一起使用? 在列表和jdk8上使用流,過濾器和平均值 如何在JDK8上使用SPDY運行Jetty? 如何在 Debian 10 上安裝 JDK8 如何在Eclipse Indigo中添加jdk8
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM