JavaRush /Java Blog /Random-KO /컬렉션. 지도. 삭제.
oktava
레벨 23
Санкт-Петербург

컬렉션. 지도. 삭제.

Random-KO 그룹에 게시되었습니다
안녕하세요. 문제는 Map 컬렉션 에서 요소를 제거하는 방법입니다 . 다른 문제를 해결하려고 하는데 앞으로 나아갈 수 없습니다. 컬렉션에서 어떤 원칙이 삭제되는지 이해하지 못하기 때문입니다. 아이디어는 컬렉션에서 동일한 요소를 제거하는 것이며 비교는 값을 기준으로 수행됩니다. 레벨 8 강의에서 나는 "반복자"가 우리 컬렉션에 대한 링크와 같은 것임을 이해했습니다. 따라서 나는 그러한 링크를 2개 만들었고 컬렉션의 요소를 비교하여 이 링크(객체) iterator2가 참조하는 요소를 삭제하기로 결정했습니다. 내가 왜 잘못하고 있는지 설명해보세요. 나는 정말로 내가 어디에서 잘못되었는지 이해하고 싶습니다. 응답해 주실 모든 분들께 감사드립니다. 컬렉션에서 제거를 구현하기 위한 또 다른 옵션 for (Iterator > iterator1 = map.entrySet().iterator(); iterator1.hasNext();){ HashMap.Entry pair1 = iterator1.next(); for (Iterator > iterator2 = map.entrySet().iterator(); iterator2.hasNext();) { HashMap.Entry pair2 = iterator2.next(); if(pair1.getValue().equals(pair2.getValue())){ map.remove(pair2.getKey()); } } } Iterator > iterator1 = map.entrySet().iterator(); while(iterator1.hasNext()){ Map.Entry pair1 = iterator1.next(); Iterator > iterator2 = map.entrySet().iterator(); while(iterator2.hasNext()){ Map.Entry pair2 = iterator2.next(); if (pair1.getValue().equals(pair2.getValue())){ iterator2.remove(); } } }
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION