JavaRush /مدونة جافا /Random-AR /المجموعات. خريطة. يمسح.
oktava
مستوى
Санкт-Петербург

المجموعات. خريطة. يمسح.

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