روز خوب. سوال این است که چگونه عناصر را از مجموعه
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(); } } }
GO TO FULL VERSION