api 문서

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html


코드 라인을 줄여줄 수 있는 map중의 하나이다.  Multimap은 ListMultimap과 SetMultimap 뿐 아니라, 다양한 형태의 Multimap을 지원한다. 


Multimap은 키의 값을 Collection으로 저장하고 리턴한다. 따라서, key 충돌은 Collection인 value에 추가된다.



예제코드 #1)

import java.util.Collection;

import org.junit.Test;

import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;

public class GuavaTest {

@Test
public void test1() {
// Map<String,List<String>> map = new HashMap<String,List<String>>();
Multimap<String, String>
family = ArrayListMultimap.create();
family.put("Father Kimchy", "1st Son-Kimchy");
family.put("Father Kimchy", "1st Daughter-Kimchy");
family.put("Father Jason", "1st Son-Jason");

Collection<String>
child = family.get("Father Kimchy");
System.
out.println(child);

child = family.get("Father Jason");

System.out.println(child);

  }
}




결과

[1st Son-Kimchy, 1st Daughter-Kimchy]

[1st Son-Jason]




예제 코드 #2


   Multimap<Object, String> family = ArrayListMultimap.create();

  family.put(Lists.newArrayList(1), "1");

 

  System.out.println(family.get(Lists.newArrayList(1)));



결과는 


[1]

Posted by '김용환'

댓글을 달아 주세요