Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将内容从以前的hashmap传输到新的hashmap?_Java_Hashmap - Fatal编程技术网

Java 如何将内容从以前的hashmap传输到新的hashmap?

Java 如何将内容从以前的hashmap传输到新的hashmap?,java,hashmap,Java,Hashmap,我的问题是如何将项目从map转移到map2?我的代码对吗?很简单。使用参数化构造函数 HashMap<String,Integer> map= new HashMap<String,Integer>(); map.put("first",1); map.put("second",2); map.put("third",3); HashMap<String,Integer> map2= new HashMap<String,Integ

我的问题是如何将项目从map转移到map2?我的代码对吗?

很简单。使用参数化构造函数

  HashMap<String,Integer> map= new HashMap<String,Integer>();
  map.put("first",1);
  map.put("second",2);
  map.put("third",3);

  HashMap<String,Integer> map2= new HashMap<String,Integer>();
  map2= map.clone();

它很简单。使用参数化构造函数

  HashMap<String,Integer> map= new HashMap<String,Integer>();
  map.put("first",1);
  map.put("second",2);
  map.put("third",3);

  HashMap<String,Integer> map2= new HashMap<String,Integer>();
  map2= map.clone();
您可以这样做:

  HashMap<String,Integer> map2= new HashMap<String,Integer>(map);

请注意,在这两种方法中,键和值不是重复的,而是由两个HashMap引用。

您可以这样做:

  HashMap<String,Integer> map2= new HashMap<String,Integer>(map);

请注意,在这两种方法中,键和值都不是重复的,而只是由两个HashMap引用。

如果您正在查找上一个map的深层副本,请使用复制构造函数,克隆是此HashMap实例的浅层副本:键和值本身不会被克隆

如果您想要上一个映射的浅拷贝,可以使用将映射引用传递给新的映射构造函数,而不是克隆方法

克隆方法查找有麻烦

如果你读过我书中关于克隆的内容,尤其是如果你 从字里行间,你会知道我认为克隆人是深深的 破碎的[…]很遗憾Cloneable坏了,但它确实发生了

如果您正在查找上一个map use copy构造函数的深层副本,则clone是此HashMap实例的浅层副本:不会克隆键和值本身

如果您想要上一个映射的浅拷贝,可以使用将映射引用传递给新的映射构造函数,而不是克隆方法

克隆方法查找有麻烦

如果你读过我书中关于克隆的内容,尤其是如果你 从字里行间,你会知道我认为克隆人是深深的 破碎的[…]很遗憾Cloneable坏了,但它确实发生了

在完美世界地图中,map2=…-最好尽可能使用接口。在完美的世界地图中,map2=…-最好尽可能使用接口。
HashMap<String,Integer> map2= new HashMap<>(map);