다시 ArrayList를지도에 다시 추가 할 필요가 없습니다. ArrayList가 이미있는 경우에는 값을 추가하십시오. 각 라인 처리하는 동안
이
Map<String, Collection<String>> map = new HashMap<String, Collection<String>>();
: 같은
개선 된 구현은 보일 수 있습니다
String user = user field from line
String value = value field from line
Collection<String> values = map.get(user);
if (values==null) {
values = new ArrayList<String>();
map.put(user, values)
}
values.add(value);
후속 2014년 4월를 - 내가 2009 년에 다시 원래의 답을 쓸 때의 내 지식 Google 구아바는 제한되었습니다. Google 구아바가하는 모든 측면을 고려하여 지금은 재발행하는 대신 Multimap
을 사용하는 것이 좋습니다.
Multimap<String, String> values = HashMultimap.create();
values.put("user1", "value1");
values.put("user2", "value2");
values.put("user3", "value3");
values.put("user1", "value4");
System.out.println(values.get("user1"));
System.out.println(values.get("user2"));
System.out.println(values.get("user3"));
출력 :
이미 언급했듯이
[value4, value1]
[value2]
[value3]
다른 답변은 모두 정확합니다. 나는 외부의 도서관을 사용하고 싶지 않다. –
이것은 생명의 은인, 감사합니다. – wirbly