【发布时间】:2020-11-25 20:21:08
【问题描述】:
我有以下数据:
如果我将值作为参数,我如何获得密钥?
Test1(stringtest2Map={de=Test2(name=aa, stringStringMap={alex=sven, serdar=alo})})
例如如果 internalName= "alo" 那么它应该返回 serdar if = "sven" 然后应该返回 alex。
我的尝试:
Test2 test2 = new Test2();
test2.name = "aa";
Map<String, String> map = new HashMap<>();
map.put("alex", "sven");
map.put("serdar", "alo");
test2.stringStringMap = map;
Test1 test1 = new Test1();
Map<String, Test2> map1 = new HashMap<>();
map1.put("de", test2);
test1.stringtest2Map = map1;
System.out.println(test1.toString());
String internalName = "alo";
String firstName =
test1.stringtest2Map.values().stream()
.map(e -> e.stringStringMap.get(internalName))
.findFirst()
.orElse(null);
System.out.println(firstName);
public class Test1 {
public Map<String, Test2> stringtest2Map;
}
public class Test2 {
public String name;
public Map<String, String> stringStringMap;
}
但它不起作用。
【问题讨论】:
标签: java stream java-stream