Basically, you need to clone each vector:
LinkedHashMap<String, Vector<String>> map2 = new LinkedHashMap<String, Vector<String>>(); for (Map.Entry<String, Vector<String>> entry : map1.entrySet()) { Vector<String> clone = new Vector<String>(entry.getValue()); map2.put(entry.getKey(), clone); }
You do not need to go deeper, though, of course, because String immutable.
(Any reason you use Vector , not ArrayList , by the way?)
source share