如何处理对象无法满足java 8流中的过滤器

Shi*_*wal 4 java java-8

我正在尝试处理无法满足流中的过滤条件的对象.

List<Integer> list = Arrays.asList(1,23,43,12,4,5);
list.stream().filter( i -> i > 10).collect(Collections.toList);
Run Code Online (Sandbox Code Playgroud)

这将返回大于10的Object列表.但我还想处理无法满足条件的对象(> 10).

谢谢.

Eug*_*ene 9

Map<Boolean, List<Integer>> map = list.stream()
              .collect(Collectors.partitioningBy(i > 10));


map.get(false/true).... do whatever you want with those that failed or not
Run Code Online (Sandbox Code Playgroud)