我有一個列表a
,我想分成幾個小列表。如何通過使用java8謂詞分區列表?
說出所有包含「aaa」的項目,所有包含「bbb」和更多謂詞的項目。
如何使用java8來做到這一點?
我看到這個post,但它只分成2個列表。
public void partition_list_java8() {
Predicate<String> startWithS = p -> p.toLowerCase().startsWith("s");
Map<Boolean, List<String>> decisionsByS = playerDecisions.stream()
.collect(Collectors.partitioningBy(startWithS));
logger.info(decisionsByS);
assertTrue(decisionsByS.get(Boolean.TRUE).size() == 3);
}
我看到這個post,但它是很老,JAVA 8
謂詞是布爾值。它只是「真」和「假」。我認爲在你的情況下使用'Function'和'Collectors :: groupingBy'會更好。 – RealSkeptic