자바 해쉬맵을 사용하면 동일한 키값을 중복할 수 없는 문제가 있다.
그 해결책으로 Multimap 구조인 Guava 이다.
데이터 입출력 간단한 예제이다.
ListMultimap<String, String> multimap = ArrayListMultimap.create();
for (President pres : US_PRESIDENTS_IN_ORDER) {
multimap.put(pres.firstName(), pres.lastName());
}
for (String firstName : multimap.keySet()) {
List<String> lastNames = multimap.get(firstName);
out.println(firstName + ": " + lastNames);
}
하지만 위와같이 하면 정렬이 되지않는 문제가 있다.
해결방법으로 TreeMap을 사용하는 것이다.
정렬을 위한 TreeMap 사용예제
ListMultimap<String, String> Colmap =Multimaps.newListMultimap(new TreeMap<>(), ArrayList::new);
while ((coulmn_line = coulmn_br.readLine()) != null)
{
String[] b = coulmn_line.split(",");
Colmap.put(b[2],b[3]);
}
int index=0;
for (String file_id : Colmap.keySet()) {
List<String> name = Colmap.get(file_id);
for(index=0; index<name.size(); index++)
{
System.out.println(file_id+" : "+name.get(index));
}
}
jar 파일 다운로드 주소입니다
댓글 영역