2010-10-02 17 views
10
List<String> listA = new ArrayList<String>(); 
listA.add("a"); 
listA.add("b"); 
listA.add("c"); 
listA.add("d"); 



List<String> listB = new ArrayList<String>(); 
listB.add("c"); 
listB.add("d"); 
listB.add("e"); 
listB.add("f"); 

ListB दो तत्वों है कि यह भी ListA ("c" और "d") में मौजूद हैं शामिल हैं।किसी अन्य सूची से एक सूची की ओवरलैपिंग सामग्री को आप कैसे हटाते हैं?

क्या यह सुनिश्चित करने का कोई साफ तरीका है कि listB में इन या किसी अन्य ओवरलैपिंग तत्व शामिल नहीं हैं जो listA में पहले से मौजूद हो सकते हैं?

उत्तर

17
listB.removeAll(listA) 

यह आपके listB केवल [e, f] शामिल होगा।

+1

यह केवल अपनी ऑब्जेक्ट्स के लिए मूल ऑब्जेक्ट टाइप सूचियों (स्ट्रिंग इत्यादि) के साथ बॉक्स से बाहर काम करता है जिसे आपको object.equals विधि को परिभाषित करने की आवश्यकता होती है, इसलिए इसका अर्थ आपके ऑब्जेक्ट से होगा। यहां बराबर पर और पढ़ें: stackoverflow.com/questions/8338326/... –

संबंधित मुद्दे