これら2つのステートメントが同等かどうか疑問に思っています:
Map<String, List<String>> nodeToLinkMap = new HashMap<String, List<String>>();
...
// (assuming the map has something in it for this key)
List<String> links = nodeToLinkMap.get(node);
links.add(link);
nodeToLinkMap.put(node, links);
と
Map<String, List<String>> nodeToLinkMap = new HashMap<String, List<String>>();
...
// (assuming the map has something in it for this key)
nodeToLinkMap.get(node).add(link));
同じポインターですか、それともコピーが作成されますか?