2016-08-29 4 views
0

다음 키 - 값이있는 등록 정보 파일이 있습니다. 값은 여기에도 고유합니다.속성 파일의 고유 한 값을 기준으로 키 이름을 찾으십시오.

ID1=SOMEIDVALUE1 

ID2=SOMEIDVALUE2 

ID3=SOMEIDVALUE3 

ID4=SOMEIDVALUE4 

어떤 경우에는 SOMEIDVALUE (value)를 기반으로 속성 파일에서 키 이름을 가져와야합니다.

가능한 해결책 :

a) 생성 새로운 Propperty 역방향 매핑

b)로드 맵 (키 - 값을 모든 데이터)와 함께 새로운 역 맵을 생성한다.

위의 시나리오에 대한 다른 최상의 해결책이 있는지 제안하십시오.

: 나는 그렇지 않으면 SQL 쿼리가이 문제를 해결할 수, DB의 매핑을 저장하지 않습니다.

+0

이미 해결책이있는 것 같습니다. 즉, 여기에 파일을 남용하거나 악용하는 것처럼 보입니다. – CollinD

+0

새로운 역행하는'Properties' 객체를 사용하고 새로운'Map'을 사용하는 것 사이에 많은 차이가 없다는 것에 유의하십시오. 'Properties' 객체는 강화 된'HashTable'이며, 여기서는 미묘한 구현 차이점이 관련이 없다고 생각합니다. – RealSkeptic

답변

0

고유 한 조합이 있으므로 양방향지도가 유용 할 수 있습니다.

당신은 구아바 bimap

BiMap.inverse()에서 볼 수 키 타입과 값 형식의 위치가 바뀌 었는지 뷰를 돌려줍니다.

BiMap<String, Integer> userId = HashBiMap.create(); 
String userForId = userId.inverse().get(id); 
관련 문제