2013-02-21 2 views
0

중복 된 값을 가진지도가 있습니다. 이제는 모든 Map.Entries를 반복하지 않고 값을 사용하여 키를 가져 오려고합니다. 지도에 500 개 이상의 항목이 있습니다. 매번 전체 맵을 반복하고 싶지 않습니다.키 또는 값이 중복 된지도에서 값을 사용하여 키 가져 오기

Google 검색 모음의 BiMap을 사용하려고 생각했습니다. 그러나 BiMap은 중복 키를 지원하지 않습니다. 누구든지이 문제를 해결하기 위해 다른 thirdparty 라이브러리를 사용할 수 있는지 제안 할 수 있습니까?

업데이트 : 지도에 중복 값이 ​​포함되어 있으며 키 값 쌍이 포함 된 텍스트 파일에서로드됩니다.

+11

'Map'에 대한 Javadoc에 따르면 : "맵에 이전에 키 매핑이 포함되어 있으면 이전 값이 지정된 값으로 대체됩니다". Soo ... 중복 키를 지원합니까? –

+0

키는 고유합니다. 값 모음 사용을 고려하십시오. – McDowell

+0

@SoboLAN 중복 된 값을 가진지도가 있습니다. 지도는 키 값 쌍이있는 텍스트 파일에서로드됩니다. BiMap의 copyOf 메소드를 사용할 때 중복 값이있는 이유로 허용하지 않습니다. – John

답변

1

내가 아니라, 당신의 문제가있을 ...지도를

있다! 데이터가 BiMap의 한계에 맞지 않는 것처럼 들립니다. 튜플 (또는 순서가 지정된 컬렉션 쌍)으로 캡슐화 된 데이터의 다른 정렬 된 컬렉션을 유지 관리하는 것이 좋습니다.