5 개의 키가 있습니다. 제거하거나 업데이트하면 안됩니다. 나는 HashMap
의 키를 추가, 제거 및 제거하는 자체적 인 방법을 제공합니다.HashMap의 특정 키를 읽기 전용으로 만들 수 있습니까?
UnmodifiableMap
은 모든 키를 읽기 전용으로 설정하므로 사용할 수 없습니다. 이 읽기 전용 키 중 List
을 유지 관리 할 수 있으며 추가/제거 메소드가 호출 될 때마다이 List
을 참조하고 작업을 금지 할 수 있습니다. 그러나 이것을 달성하는 다른 더 좋은 방법이 있습니까?
미리 감사드립니다.
편집 : HashMap
을 확장하고 put
메서드를 재정의 할 수 있음을 알고 있습니다. 이는 위의 문제 설명 (읽기 전용 키를 List
유지하고 이에 대한 작업을 막음)에서 말한 것과 유사합니다. UnmodifiableMap
의 UnmodifiableMap
을 병합하여 UnmodifiableMap
의 키가 새로운 HashMap
의 읽기 전용으로 유지되고 다른 키는 모든 작업이 지원되도록한다고 생각했습니다.
당신은'HashMap'을 확장하고'put()'메소드를 오버라이드하여 그러한 메커니즘을 쉽게 구현할 수 있습니다. –
2 개의지도를 가질 수없는 이유가 있습니까? 하나는 수정할 수 있습니까? –
나는 할 수 있었다. 하지만 Get이 호출 될 때마다 두 맵을 모두 확인해야합니다. –