2013년 12월 10일 화요일

HashBiMap (쌍방향 해쉬맵) - Guava 라이브러리

가끔 이럴 때 있지 않나요?
키 값과 데이터를 넣는데,
둘 다 겹치지 않는 값이였으면 좋겠다 싶을 때.

이럴 때 구글의 구아바(Guava) 라이브러리 중 HashBiMap 을 써보는 것도 좋은 선택이 될 것 같네요.

일대일 대응을 하는 해쉬맵입니다.

다른 점은:
  1. K (key) 값이 같을 경우에는 새로 들어온 값으로 덮어씁니다.
  2. V (value) 값이 같을 경우에는 익셉션 IllegalArgumentException 을 throw 합니다.

간단한 사용법을 알아봅시다.

구아바 라이브러리를 직접 받아서 쓰시거나
안드로이드라면 build.gradle 의 dependencies 에
compile group: 'com.google.guava', name: 'guava', version: '15.0'
를 넣어주시면 maven 에서 import 를 해 줍니다.

해쉬맵을 생성하려면
HashBiMap<K, V> hashBiMap = HashBiMap.create();
를 해 주시면 됩니다.

일반적인 HashMap 처럼
값을 넣을때에도
hashBiMap.put(K, V);
하시면 됩니다.

마지막으로,
hashBiMap.inverse();
하실경우엔 K 와 V 가 서로 반대로 되어서 나옵니다. (일대일 대응이기 때문에 가능하죠)

댓글 없음:

댓글 쓰기