在下面的代码中,我创建了一个接受LinkedList
其值的地图。使用特定的键,我得到LinkedList
,修改它并打印值以检查它是否被修改。
随着值被打印出来,我看到它被修改了。但我不希望 LinkedList 中的值会改变,直到我这样做,
map.put(for_the_same_key,modified_list) // so that old key gets replaced by this
为什么LinkedList
我修改新的LinkedList
.
import java.util.*;
class MapTester {
public static void main(String args[]) {
Map<Integer,LinkedList<String>> map = new HashMap<Integer,LinkedList<String>>();
LinkedList<String> list = new LinkedList<String>();
list.add("Suhail");
list.add("Gupta");
list.add("CSE");
map.put(1,list);
LinkedList<String> newList = map.get(1);
newList.add(2,"Khayal");
newList.remove(3);
LinkedList<String> newListAg = map.get(1);
for(String s : newListAg) {
System.out.println(s);
}
}
}
输出 :
Suhail
Gupta
Khayal // I EXPECTED 'CSE' HERE