从hashmap中提取任何值(每个键一个)

时间:2015-07-30 09:01:17

标签: java java-8

我有一张大地图,其中包含不同的键和多个值(DepthFeed)。我希望得到任何值(DepthFeed),以便能够为每个键提取一个仪器的名称。

我有这张地图

private static Map<Integer, List<DepthFeed>> mapDepthFeed = new HashMap<>();

从那以后我想做类似的事情,但是不返回键集整数。相反,我想要一个List<DepthFeed>后面(每个键包含一行)

List<DepthFeed> d = mapPriceFeed.values().stream().distinct().collect(Collectors.toList());

1 个答案:

答案 0 :(得分:2)

使用

List<DepthFeed> result = mapDepthFeed.values().stream()
            .filter(list -> !list.isEmpty())
            .map(list -> list.get(0))
            .collect(Collectors.toList());

这样,您将从地图值中存储的每个非空列表中获取第一个元素。