किसी विशेष अनुक्रमणिका के बाद सूची से सभी तत्वों को निकालें


83

क्या List / ArrayList में कोई सुविधाजनक तरीका है जिसके द्वारा हम किसी विशेष सूचकांक के बाद सूची के सभी तत्वों को निकाल सकते हैं। हटाने के लिए इसके माध्यम से मैन्युअल रूप से लूपिंग के बजाय।

अधिक व्याख्यात्मक होने के लिए, यदि मेरे पास 10 तत्वों की सूची है, तो मैं सूचकांक 3 का उल्लेख करना चाहता हूं और फिर सूचकांक 3 के बाद सभी तत्व हटा दिए जाते हैं और मेरी सूची में अब केवल 4 तत्व शुरू होंगे (0 से मायने रखता है)

जवाबों:


145
list.subList(4, list.size()).clear();

मूल सूची में सबलिस्ट संचालन परिलक्षित होता है , इसलिए यह सूचकांक 4 से list.size()अनन्य तक सब कुछ शामिल करता है, सूचकांक के बाद सब कुछ उर्फ ​​3. रेंज हटाने विशेष रूप से प्रलेखन में एक उदाहरण के रूप में उपयोग किया जाता है:

यह विधि स्पष्ट श्रेणी संचालन (आमतौर पर सरणियों के लिए मौजूद प्रकार) की आवश्यकता को समाप्त करती है। कोई भी ऑपरेशन जो किसी सूची की अपेक्षा करता है, उसे संपूर्ण सूची के बजाय एक उप-दृश्य से गुजरकर एक श्रेणी संचालन के रूप में उपयोग किया जा सकता है। उदाहरण के लिए, निम्नलिखित मुहावरा किसी सूची से तत्वों की एक सीमा को हटा देता है:

     list.subList(from, to).clear();

13

सबलिस्ट () और स्पष्ट () का उपयोग करना,

public class Count
{
    public static void main(String[] args)
    {
        ArrayList<String> arrayList = new ArrayList<String>();
        arrayList.add("1");
        arrayList.add("2");
        arrayList.add("3");
        arrayList.add("4");
        arrayList.add("5");
        arrayList.subList(2, arrayList.size()).clear();
        System.out.println(arrayList.size());
    }
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.