Map of the iteration map in java 8

I wish to browse a map in the java 8 way and get the entry that contains 40 in the value of the inner map.

I've tried the following code to do it. But I still do not understand if there is a better way to do it.

import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.stream.Collectors;
import java.util.stream.Stream;


Public class MapToMapOperation {

private card <chain, card> mapToMap = new HashMap <> ();

MapToMapOperation () {
Map dogMap = new HashMap <> ();
dogMap.put ("A", 50);
dogMap.put ("B", 35);
dogMap.put ("D", 40);
dogMap.put ("C", 35);
mapToMap.put ("dog", dogMap);

Map catMap = new HashMap <> ();
catMap.put ("C", 35);
catMap.put ("D", 40);
catMap.put ("M", 40);
catMap.put ("E", 70);
catMap.put ("H", 35);
mapToMap.put ("cat", catMap);

Map donkeyMap = new HashMap <> ();
donkeyMap.put ("A", 52);
donkeyMap.put ("E", 70);
donkeyMap.put ("F", 80);
donkeyMap.put ("S", 40);
donkeyMap.put ("G", 90);
mapToMap.put ("donkey", donkeyMap);
}

public map get (String type) {
returns mapToMap.get (type);
}

public list get (map card, integer value) {
if (! map.containsValue (value)) {
return Collections.emptyList ();
}
returns the keys (map, value) .collect (Collectors.toList ());
}

public card <String, List> getFullMapBasedOnValue (integer value) {
Card <String, List> resultMap = new HashMap <String, List> ();
java.util.Iterator <Entry <String, Map>> iterator =
mapToMap.entrySet (). iterator ();
while (iterator.hasNext ()) {
Map.Entry <String, Map> entry = iterator.next ();
Map subMap = entry.getValue ();
if (subMap.containsValue (value)) {
listing list = keys (subMap, value) .collect (Collectors.toList ());
resultMap.put (entry.getKey (), list);
}
}
return resultMap;
}

public  Current keys (map map, value V) {
return map.entrySet (). stream () filter (entry -> value.equals (entry.getValue ())). map (Map.Entry :: getKey);
}

public static void main (String[] args) {
MapToMapOperation mapOp = new MapToMapOperation ();
mapOp.get ("dog"). forEach ((s, k) -> System.out.println (s + "" + k));

System.out.println (mapOp.get (mapOp.get ("cat"), 35));

System.out.println (mapOp.getFullMapBasedOnValue (40));
}

}