Java 8 - 收集器Collectors_分区partitioningBy
生活随笔
收集整理的這篇文章主要介紹了
Java 8 - 收集器Collectors_分区partitioningBy
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 概述
- Demo
概述
分區是分組的特殊情況:由一個謂詞(返回一個布爾值的函數)作為分類函數,它稱分區函數 。
分區函數返回一個布爾值,這意味著得到的分組 Map 的鍵類型是 Boolean ,于是它最多可以分為兩組—— true 是一組, false 是一組
Demo
舉個例子: 把菜單按照素食和非素食分開
Map<Boolean, List<Dish>> collect = menu.stream().collect(partitioningBy(Dish::isVegetarian));// 素菜System.out.println(collect.get(true));通過 Map 中鍵為 true 的值,就可以找出所有的素菜了 。
當然了,用同樣的分區謂詞,對菜單 List 創建的流作篩選,然后把結果收集到另外一個 List中也可以獲得相同的結果
List<Dish> xx = menu.stream().filter(Dish::isVegetarian).collect(toList());總結
以上是生活随笔為你收集整理的Java 8 - 收集器Collectors_分区partitioningBy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 8 - 收集器Collecto
- 下一篇: Java 8 - Optional全解