1. किसी सूची के मध्य (या शुरुआत में) में एक तत्व जोड़ना

यदि हम सूची के बीच में एक तत्व सम्मिलित करना चाहते हैं, तो यहाँ सूची के अंदर क्या होता है।

मान लीजिए हमारे पास 11 तत्वों की एक सूची है:

किसी सूची के मध्य (या शुरुआत में) में एक तत्व जोड़ना

हम इंडेक्स 5 पर सूची में 10,000 नंबर डालना चाहते हैं। ऐसा करने के लिए, हमें केवल निष्पादित करने की आवश्यकता है:

list.add(5, 10000);

कहाँ listएक ArrayListचर है। विधि add(int index, type value)सूची में स्थिति 5 पर मान 10000 जोड़ती है। यहाँ add()विधि में क्या होता है:

चरण 1: 5 वें स्थान से शुरू होने वाले सरणी के सभी तत्वों को सरणी के अंत में 1 तत्व द्वारा स्थानांतरित (कॉपी) किया जाएगा:

किसी सूची के बीच में (या शुरुआत में) एक तत्व जोड़ना 1

ध्यान दें कि सरणी के 5वें और 6वें सेल में तत्व अब समान हैं।

चरण 2: 5वीं सेल में 10,000 का मान लिखें:

किसी सूची के बीच में (या शुरुआत में) एक तत्व जोड़ना 2

अब सूची में सरणी के सभी तत्व शामिल हैं, और पांचवें सेल में 10,000 नंबर हैं। बस हम क्या चाहते थे।



2. किसी सूची से किसी तत्व को हटाना

किसी सूची से किसी तत्व को हटाना उसे सम्मिलित करने के समान है, लेकिन प्रक्रिया उलटी है।

आइए तीसरे तत्व को एक सूची से हटा दें। ऐसा करने के लिए, हमें निष्पादित करने की आवश्यकता है:

list.remove(3);

यहाँ निकालें () विधि में क्या होता है:

चरण 1: चौथे स्थान से शुरू होने वाले सरणी के तत्वों को सरणी की शुरुआत की ओर 1 तत्व द्वारा स्थानांतरित (कॉपी) किया जाएगा:

किसी सूची से किसी तत्व को हटाना

चरण 2: वेरिएबल का मान size1 घटाया जाएगा।

सूची से किसी तत्व को हटाना 2

कृपया ध्यान दें कि सरणी के अंत में भूरे रंग के कुछ मान हैं। तकनीकी रूप से, ये कचरा हैं। कचरा संग्रह में हस्तक्षेप न करने के लिए उन्हें हटाने की जरूरत है ।

चरण 3: कचरा साफ करना

किसी सूची से किसी तत्व को हटाना 3



3. जावा में सूची के साथ काम करने के व्यावहारिक उदाहरण

आइए सूचियों के साथ काम करने के कुछ उदाहरण लिखें:

हम 1 से 20 के बीच की सभी सम संख्याओं को सूचीबद्ध करेंगे:

कोड टिप्पणियाँ
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);


सभी सूचकांकों पर एक सूची वस्तु लूप 1बनाएं यदि 20
सूचकांक 2शेष के बिना विभाज्य है,
तो इसे सूची में जोड़ें

अब सूची के सभी तत्वों को स्क्रीन पर प्रदर्शित करते हैं:

कोड टिप्पणियाँ
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

for (int i = 0; i < list.size(); i++)
   System.out.println(list.get(i));
एक सूची वस्तु बनाएँ
सभी सूचकांकों पर लूप करें 1यदि 20

संख्या 2शेष के बिना विभाज्य है,
तो इसे सूची में जोड़ें

शून्य से सूची के आकार तक लूप करें
स्क्रीन पर प्रत्येक तत्व प्रदर्शित करें

तत्वों को हटाना:

अब उन सभी तत्वों को हटा दें जो 4 से विभाज्य हैं। ध्यान दें कि सूची से एक तत्व को हटाने के बाद, शेष तत्वों की स्थिति तुरंत बदल जाती है।

कोड टिप्पणियाँ
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

for (int i = 0; i < list.size(); i++)
   if (list.get(i)%4 == 0)
   {
      list.remove(i);
      i--;
   }
एक सूची वस्तु बनाएँ

सभी सूचकांकों पर लूप करें 1यदि 20
सूचकांक 2शेष के बिना विभाज्य है,
तो इसे सूची में जोड़ें

शून्य से सूची के आकार तक लूप करें
यदि सूची का कोई तत्व 4शेष के बिना विभाज्य है:

a) हटाएं तत्व
बी) iकाउंटर को घटाता है ताकि हम लूप के अगले पुनरावृत्ति पर समान इंडेक्स प्राप्त कर सकें

मान लीजिए कि आपको किसी सूची से अंतिम 3 तत्वों को निकालने की आवश्यकता है।

इसे गलत तरीके से करने का तरीका यहां दिया गया है:

कोड टिप्पणियाँ
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

int n = list.size();
list.remove(n - 3);
list.remove(n - 2);
list.remove(n - 1);
एक सूची वस्तु बनाएं

सूची में 10 तत्व हैं: 2, 4, 6, ... 20



n = 10
n - 3 = 7(सूची में 9 तत्व शेष हैं)
n - 2 = 8(सूची में 8 तत्व शेष हैं)
n - 1 = 9(सूची में 7 तत्व शेष हैं)

7वें और 8वें तत्वों को हटाने के बाद सूची में केवल 8 तत्व रह जाएंगे। इसका मतलब है कि नौवें तत्व को हटाना संभव नहीं होगा - कार्यक्रम में एक त्रुटि होगी।

तत्वों को निकालने का सही तरीका यहां दिया गया है:

विकल्प 1 विकल्प 2
int n = list.size();
list.remove(n - 3);
list.remove(n - 3);
list.remove(n - 3);
int n = list.size();
list.remove(n - 1);
list.remove(n - 2);
list.remove(n - 3);

तत्वों को या तो अंत से या किसी अन्य सुसंगत स्थान से हटाया जाना चाहिए, क्योंकि प्रत्येक निष्कासन ऑपरेशन के बाद तत्व एक-एक करके स्थानांतरित हो जाते हैं।