如何使用公共密钥从地图的内部地图获取所有值?

我有一张地图地图: HashMap<String, Map>

我只需要使用DistinctCode从内部地图中提取String值。 我怎么能在一行或一个声明中这样做?

换句话说,我需要一个像这样的方法:

 mapOfMap.find(distinctcode) 

它是否可以在一行或声明中使用?

在Java 8中

 List list = map.values().stream().map(m -> m.get(distinctcode)).filter(Objects::nonNull).collect(Collectors.toList()); 

使用Java 8,您可以做到

 Set strings = mapOfMaps.values().stream() .map(m -> m.get(distinctCode)) .filter(v -> v != null) .collect(Collectors.toSet()); 
 DistinctCode dv = ...; Stream res = mom.values().stream().map(p->p.get(dv)).filter(p->p!=null); 

稍微不同的Java 8方法没有空过滤:

 final Set values = mapOfMaps.values().stream() .filter(m -> m.containsKey(distinctCode)) .map(m -> m.get(distinctCode)) .collect(Collectors.toSet()); //this can be simplified using a static import