يوم جيد. والسؤال هو كيفية إزالة العناصر من مجموعة
الخرائط . أحاول حل مشكلة أخرى ولا أستطيع المضي قدمًا، لأنني لا أفهم ما هو مبدأ الحذف من المجموعة. والفكرة هي إزالة العناصر المتطابقة من المجموعة، ويتم إجراء المقارنة حسب القيمة. من محاضرات المستوى الثامن فهمت أن "المكرر" هو بمثابة رابط لمجموعتنا. لذلك، قمت بإنشاء رابطين من هذا القبيل، ومن خلال مقارنة العناصر الموجودة في المجموعة، قررت حذف العناصر التي يشير إليها هذا الرابط (الكائن) 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(); } } }
GO TO FULL VERSION