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(); } } }
GO TO FULL VERSION