如何将一个hashmap内容复制到另一个hashmap

use*_*ser 4 java hashmap

这里我有两个哈希图datazscreen_dataz.我想复制screen_datazdataz.

我这样想,但它不起作用:

Object[]  obj = new Object[5];
String[] strArray = new String[]{"Obj1","Array1","Converted1","To1","List1"};
String[] strArray1 = new String[]{"Obj2","Array2","Converted2","To2","List2"};
dataz.put(0,(Object[]) strArray);
dataz.put(1,(Object[]) strArray1);
// String dataString = (String) dataz;
System.out.println(dataz);


Object[]  obj1= new Object[5];
String[] strArray2 = new String[]{"Obj3","Array3","Converted3","To3","List3"};
String[] strArray3 = new String[]{"Obj4","Array4","Converted4","To4","List4"};
screen_dataz.put(0,(Object[]) strArray2);
screen_dataz.put(1,(Object[]) strArray3);
System.out.println("copying screen dataz to dataz");
dataz.putAll(screen_dataz);
Run Code Online (Sandbox Code Playgroud)

Sur*_*tta 17

利用构造函数和Shallow它.

dataz = new HashMap<Key,val>(screen_dataz);
Run Code Online (Sandbox Code Playgroud)


Mar*_*oun 8

你可以简单地构建一个新的:

dataz = new HashMap<Integer,Object>(screen_dataz);
Run Code Online (Sandbox Code Playgroud)

  • @Baadshah总有一天我会报复!Muahaha (4认同)
  • 击败你6秒:) +1 :) (3认同)

Nav*_*kar 6

Map tmp = new HashMap(patch);
tmp.keySet().removeAll(target.keySet());
target.putAll(tmp);
Run Code Online (Sandbox Code Playgroud)

详细解释