상세 컨텐츠

본문 제목

Java Multimap

Java/Multimap(Guava)

by 견오수 2021. 9. 8. 15:17

본문

728x90

자바 해쉬맵을 사용하면 동일한 키값을 중복할 수 없는 문제가 있다.

 

그 해결책으로 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 파일 다운로드 주소입니다

https://jar-download.com/artifacts/com.google.guava

728x90

댓글 영역