توهان جو ڏينهن سٺو گذري. سوال اهو آهي ته
نقشي جي مجموعي مان عناصر کي ڪيئن هٽايو وڃي . مان هڪ ٻيو مسئلو حل ڪرڻ جي ڪوشش ڪري رهيو آهيان ۽ اڳتي نه ٿو وڌي سگهان، ڇو ته مون کي سمجهه ۾ نه ٿو اچي ته ڪهڙن اصولن تي ڪليڪشن کي ختم ڪيو وڃي. خيال اهو آهي ته هڪجهڙائي عناصر کي گڏ ڪرڻ کان هٽايو وڃي، مقابلو قدر سان ڪيو ويندو آهي. ليول 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