표준 라이브러리 LinkedHashSet
은 삽입 순서 반복을 제공하는 HashSet
입니다. Guava의 BiMap
버전이 키와 값의 삽입 순서 반복을 유지합니까? BiMap
이 변경 가능해야하므로 ImmutableBiMap
으로 충분하지 않습니다.예측 가능한 반복 순서 (삽입 순서)가있는 BiMap 구현이 있습니까?
1
A
답변
2
유일한 구현은 ImmutableBiMap<K,V>
입니다. 구현을 확인할 수 있습니다 here. LinkedHashMap
을 사용하고 copyOf(Map<? extends K,? extends V> map)
으로 변환하면 ImmutableBiMap<K,V>
이됩니다. 그것은 당신을 위해 일할 것인가?
+0
감사하지만 도움이되지 않습니다. BiMap을 사용하기 쉽도록하고 싶지만 변경할 수 있어야합니다. 다른 수집 유형 (또는 유형, 예를 들어 두 개의지도)을 유지하면 BiMap이 전혀 필요하지 않습니다. –
+0
Ok Jake가 있지만 구아바 솔루션이 없습니다. 죄송합니다. –
어째서 삽입 순서를 정의해야합니까? 열쇠를 가져 가야합니까? – fge
키 순서를 받아 들일 수 있지만 키와 값을 함께 넣으면 다른 키 아래에 기존 값을 넣으려고하면 예외가 throw되므로 실제 차이가 없다고 생각합니다. –
당신은 guava의 bimap 인터페이스를 두 개의 연결된 해시 맵을 사용하여 구현할 수 있습니다. 아마도 그렇게하기는 어렵지 않을 것입니다. –