我有一个
MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
值的类型是字符串列表:
List<String> valueList = map.get('key');
我如何在这张地图中搜索(通过这张地图中的所有valueList)并获得列表中以'xy'开头的所有值?
我希望问题清楚。
我已经尝试过了,但是没有成功:
map
.entrySet()
.stream()
.filter(e-> e.getValue().stream().filter(value -> value.startsWith(searchString)))
.collect(Collectors.toList());
我收到此错误:流无法转换为布尔值
答案 0 :(得分:1)
如果我正确理解了您的问题:
map.values()
.stream()
.flatMap(List::stream)
.filter(x -> x.startsWith(searchString))
.collect(Collectors.toList())