JavaRush /Blog Java /Random-VI /Bộ sưu tập. Bản đồ. Xóa bỏ.
oktava
Mức độ
Санкт-Петербург

Bộ sưu tập. Bản đồ. Xóa bỏ.

Xuất bản trong nhóm
Ngày tốt. Câu hỏi đặt ra là làm cách nào để xóa các phần tử khỏi bộ sưu tập Bản đồ . Tôi đang cố gắng giải quyết một vấn đề khác và tôi không thể tiếp tục, vì tôi không hiểu việc xóa khỏi bộ sưu tập xảy ra theo nguyên tắc nào. Ý tưởng là loại bỏ các phần tử giống hệt nhau khỏi bộ sưu tập, việc so sánh được thực hiện theo giá trị. Từ bài giảng cấp 8, tôi đã hiểu rằng "iterator" giống như một đường liên kết đến bộ sưu tập của chúng ta. Do đó, tôi đã tạo 2 liên kết như vậy và bằng cách so sánh các phần tử trong bộ sưu tập, tôi quyết định xóa các phần tử mà liên kết (đối tượng) iterator2 này đề cập đến. Giải thích tại sao tôi làm sai. Tôi thực sự muốn hiểu tôi sai ở đâu. Cảm ơn tất cả những người sẽ trả lời. Một tùy chọn khác để thực hiện xóa khỏi bộ sưu tập 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(); } } }
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION