[英]Copying Map key value from one class to another in Java
請有人幫我在 Java 中將 Map 鍵值從一個類復制到另一個類。
例子:
public class FirstClass
{
public static Map<String, Integer> firstMethod()
{
Map<String, Integer> firstMap = new HashMap <String, Integer>();
firstMap.put("1234", 1000000);
firstMap.put("2345", 2000000);
firstMap.put("3456", 3000000);
firstMap.put("4567", 4000000);
return firstMap;
}
}
public class SecondClass
public SecondClass()
{
instanceSet = new HashSet<ThirdClass>();
}
public void addInstance(String string)
{
ThirdClass integer = new ThirdClass(string);
instanceSet.add(integer);
}
public void someMethod(Map<String, Integer> secondMap)
{
for (ThirdClass instance : instanceSet)
{
if(secondMap.containsKey(instance.getinstanceNumber()))
{
//what should go in here??
}
}
}
本質上,如果 instanceSet 包含在 firstMap 中找到的鍵,那么如何提取該鍵的 Integer 值並將其復制到 secondMap 中相同鍵的 Integer 值?
我在網上環顧四周,但我發現的所有代碼示例似乎都不起作用,因為地圖存儲在單獨的類中。
像這樣的代碼。 您需要在someMethod
引用firstMap
,反之亦然,具體取決於您要從哪里復制到哪里。
if(secondMap.containsKey(instance.getinstanceNumber())) {
firstMap.put(instance.getinstanceNumber(), secondMap.get(instance.getinstanceNumber()));
}
像這樣的東西——
public class FirstClass {
public Map<String, Integer> firstMap;
public FirstClass() {
firstMap = new HashMap <String, Integer>();
firstMap.put("1234", 1000000);
firstMap.put("2345", 2000000);
firstMap.put("3456", 3000000);
firstMap.put("4567", 4000000);
}
public void updateMap(String key, Integer value) {
firstMap.put(key, value);
}
}
public class SecondClass {
private Set<ThirdClass> instanceSet;
private FirstClass firstClass;
public SecondClass() {
instanceSet = new HashSet<ThirdClass>();
firstClass = new FirstClass();
}
public void addInstance(String string) {
ThirdClass integer = new ThirdClass(string);
instanceSet.add(integer);
}
public void someMethod(Map<String, Integer> secondMap) {
for (ThirdClass instance : instanceSet) {
if (secondMap.containsKey(instance.getinstanceNumber())) {
firstClass.updateMap(instance.getinstanceNumber(), secondMap.get(instance.getinstanceNumber()));
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.