[問題] 有關map 一個key對應多個value問題
各位大大好,
最近在看別人寫map對應多個value的code,有一點一直想不清楚,所以想要請問各位大大
下列是code sample
HashMap<String, HashSet<String>> map = new HashMap<String, HashSet<String>>();
...
while ( (line = br.readLine()) != null ) {
String[] lineComponents = line.split(" ");
String aa = lineComponents[0].toLowerCase();
String bb = lineComponents[1].toLowerCase();
HashSet<String> set = map.get(aa);
if (set == null) {
set = new HashSet<String>();
map.put(aa, set);
}
set.add(bb);
}
不太理解的地方在於,當我讀到一筆map中沒有的值時,假設key是"company",value是"apple"
會執行map.put(aa,set),這時map會是 company :[],到這邊我都可以理解,
但不懂的地方在於,為什麼跳出 IF判斷後,執行 set.add(bb) , map會變成 company:[apple]
,map加入值,不是只能用put嗎?set.add 能加入值是因為什麼呢??
感謝大大們看完我的問題,這code看了一天,實在是不想一知半解,放過他
希望有大大能幫忙解惑
謝謝
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.87.142.18
※ 文章網址: https://www.ptt.cc/bbs/java/M.1432810705.A.F81.html
→
05/28 19:36, , 1F
05/28 19:36, 1F
→
05/28 20:31, , 2F
05/28 20:31, 2F
→
05/28 20:31, , 3F
05/28 20:31, 3F
→
05/28 21:24, , 4F
05/28 21:24, 4F
→
05/28 22:13, , 5F
05/28 22:13, 5F
java 近期熱門文章
PTT數位生活區 即時熱門文章