List इंटरफेस दो remove() ओवरलोड प्रदान करता है:
1. E remove(int index)
निर्दिष्ट इंडेक्स पर तत्व को हटाता है और उसे लौटाता है।
ArrayListlist = new ArrayList<>(Arrays.asList("A", "B", "C", "D")); String removed = list.remove(0); // "A" हटाता है, "A" लौटाता है // list अब ["B", "C", "D"]
2. boolean remove(Object o)
निर्दिष्ट तत्व की पहली घटना को हटाता है; सफलता पर true लौटाता है।
list.remove("C"); // "C" हटाता है, true लौटाता है
// list अब ["B", "D"]3. Iterator.remove() - पुनरावृत्ति के दौरान सुरक्षित हटाना
Iteratorit = list.iterator(); while (it.hasNext()) { String s = it.next(); if (s.equals("B")) it.remove(); // सुरक्षित }
महत्वपूर्ण चेतावनी
- फॉर-ईच लूप या इंडेक्स-आधारित लूप के दौरान
list.remove()कॉल न करें -ConcurrentModificationExceptionया इंडेक्स त्रुटियां होंगी। - पुनरावृत्ति के दौरान हटाने के लिए हमेशा
Iterator.remove()का उपयोग करें। LinkedListके लिए, इंडेक्स द्वारा हटाना O(n) है; इटरेटर द्वारा हटाना O(1) है।