リストとマップに関連するいくつかの簡単なコードを理解するのに問題があります。例として以下のコードを取り上げます。
public class test {
private Map<Integer, List<String>> myMap ;
public test(){
myMap = new HashMap<Integer, List<String>>();
}
public void addToMap(String ss){
List<String> myTemp = myMap.get(ss);
Random r = new Random();
if(myTemp == null){
myTemp = new ArrayList<String>();
myMap.put(r.nextInt(100), myTemp);
}
myTemp.add(ss);
}
public Map<Integer, List<String>> getMap1(){
return myMap;
}
public static void main(String args[]){
test myTest = new test();
myTest.addToMap("abdc");
myTest.addToMap("eeer");
System.out.println(myTest.getMap1());
}
}
mylistマップに新しい要素をどの程度正確にaddToMap()
追加しますか。具体的には、ローカル変数であるときにmyTemp.add(ss)
新しい要素を追加し、実行が完了すると削除される方法を教えてください。さらに、メソッドから削除すると、メインメソッドで空のHashMapが出力されますが、これはなぜですか?putメソッドは、addメソッドの前に実行されたときに、どのように要素をマップに挿入しますか?ありがとう。myMap
myTemp
myTemp.add(ss)
addToMap()
編集:もう少し意味をなすようにコードを編集しました。