키와 정수에 string 값이있는 java 맵이 있습니다. 이 맵에서 특정 엔트리 (키/값)를 제거하고 싶습니다. 5보다 큰 값을 갖고 있지 않습니다. 어떤 바디에서 어떻게 할 수 있습니까?값을 확인하여 해시 맵에서 항목을 제거하는 방법은 무엇입니까?
감사합니다.
키와 정수에 string 값이있는 java 맵이 있습니다. 이 맵에서 특정 엔트리 (키/값)를 제거하고 싶습니다. 5보다 큰 값을 갖고 있지 않습니다. 어떤 바디에서 어떻게 할 수 있습니까?값을 확인하여 해시 맵에서 항목을 제거하는 방법은 무엇입니까?
감사합니다.
역 매핑 만 구현하는 추가 데이터 구조가없는 경우 올바른 값 집합을 반복하고 각 값을 테스트 한 다음 Iterator.remove()
을 사용하여 관련 값을 제거하는 것이 가장 좋습니다.
보조 데이터 구조가있는 경우이를 사용하여 제거 할 항목을 식별 할 수 있습니다. 그러나 "비용"은 그러한 데이터 구조가 표현하기 위해 공간을 차지하고 업데이트하는 데 걸리는 시간이며 코드가 더 복잡하다는 것입니다.
나는 그 일을 다음과 같이했다. Stephen C에게 감사드립니다 :
Iterator<Map.Entry<String,Integer>> iter = TestMap.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<String,Integer> entry = iter.next();
if(entry.getValue() <= 5){
iter.remove();
}
}
그래, 그게 대략 코딩 한 거예요. –
귀하의 제안에 감사드립니다. – flyleaf