Use Streams to return Boolean if all the List values in a Map are empty/not-empty

前端 未结 3 1817
生来不讨喜
生来不讨喜 2020-12-28 13:16

Given a Map mapping a String to a List, is there a way to use Java Streams to return a Boolean where TRUE means one or more list had elements? If all lists in the map were e

3条回答
  •  一整个雨季
    2020-12-28 13:47

    Stream::allMatch

    In Java 8 you can check that not all lists are empty.

     boolean anyNonEmpty = !map.values().stream().allMatch(List::isEmpty);
    

    Notice that Stream::allMatch is a short-circuiting terminal operation. So the stream is efficient, not running any longer than need be.

提交回复
热议问题