分区的目的是什么
2022-08-31 20:12:43
						例如,如果我打算对某些元素进行分区,我可以做如下操作:
Stream.of("I", "Love", "Stack Overflow")
      .collect(Collectors.partitioningBy(s -> s.length() > 3))
      .forEach((k, v) -> System.out.println(k + " => " + v));
其中输出:
false => [I]
true => [Love, Stack Overflow]
但对我来说只是 的一个子案例。虽然前者接受 as 参数,而后者接受 as 参数,但我只是将分区视为正常的分组函数。partioningBygroupingByPredicateFunction
所以同样的代码做完全相同的事情:
 Stream.of("I", "Love", "Stack Overflow")
       .collect(Collectors.groupingBy(s -> s.length() > 3))
       .forEach((k, v) -> System.out.println(k + " => " + v));
这也会导致 .Map<Boolean, List<String>>
那么有什么理由我应该使用而不是?谢谢partioningBygroupingBy
 
					 
				 
				    		 
				    		 
				    		 
				    		