CodeGym /Java Course /मॉड्यूल 1 /संग्रह - एक सहायक वर्ग

संग्रह - एक सहायक वर्ग

मॉड्यूल 1
स्तर 18 , सबक 3
उपलब्ध

1. विधियों की सूची

याद रखें कि सरणियों के साथ काम करते समय जावा के रचनाकारों ने हमारी सुविधा के लिए एक संपूर्ण सहायक वर्ग लिखा था Arrays?

उन्होंने संग्रह के लिए वही काम किया। जावा में एक java.util.Collectionsवर्ग है जिसमें कई तरीके हैं जो संग्रह के साथ काम करने के लिए उपयोगी हैं। यहाँ केवल सबसे दिलचस्प हैं:

तरीकों विवरण
addAll(colls, e1, e2, e3, ...)
संग्रह में e1, e2, e3, ... तत्वों को जोड़ता हैcolls
fill(list, obj)
पारित सूची में सभी तत्वों को प्रतिस्थापित करता हैobj
nCopies(n, obj)
वस्तु nकी प्रतियों की सूची लौटाता हैobj
replaceAll(list, oldVal, newVal)
सूची में oldValके साथ के सभी दृष्टांतों को प्रतिस्थापित करता हैnewVallist
copy(dest, src)
srcसूची से destसूची में सभी तत्वों की प्रतिलिपि बनाता है
reverse(list)
सूची को उलट देता है।
sort(list)
सूची को आरोही क्रम में क्रमबद्ध करें
rotate(list, n)
तत्वों listद्वारा सूची के तत्वों को चक्रीय रूप से बदलता हैn
shuffle(list)
सूची में तत्वों को बेतरतीब ढंग से फेरबदल करता है
min(colls)
collsसंग्रह में न्यूनतम तत्व ढूँढता है
max(colls)
collsसंग्रह में अधिकतम तत्व ढूँढता है
frequency(colls, obj)
यह निर्धारित करता है कि संग्रह objमें तत्व कितनी बार होता हैcolls
binarySearch(list, key)
एक क्रमबद्ध सूची में खोजता है keyऔर संबंधित अनुक्रमणिका देता है।
disjoint(colls1, colls2)
trueयदि संग्रह में कोई तत्व समान नहीं है तो लौटाता है
महत्वपूर्ण:

ArrayListइनमें से कई विधियां , HashSetऔर HashMapकक्षाओं का उपयोग नहीं करती हैं , लेकिन संबंधित इंटरफेस के साथ: Collection<T>, List<T>, Map<K, V>

यह कोई समस्या नहीं है: यदि कोई विधि a स्वीकार करती है List<T>, तो आप हमेशा इसे a पास कर सकते हैं ArrayList<Integer>, लेकिन असाइनमेंट ऑपरेटर विपरीत दिशा में काम नहीं करता है।


2. संग्रह बनाना और संशोधित करना

Collections.addAll(Collection<T> colls, T e1, T e2, T e3, ...)तरीका

यह विधि संग्रह में , , , ... addAll()तत्वों को जोड़ती है किसी भी संख्या में तत्वों को पारित किया जा सकता है।e1e2e3colls

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 1, 2, 3, 4, 5);

for (int i: list)
   System.out.println(i);
1
2
3
4
5

Collections.fill(List<T> list, T obj)तरीका

विधि संग्रह fill()के सभी तत्वों को तत्व listसे बदल देती है।obj

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);

Collections.fill(list, 10);

for (int i: list)
   System.out.println(i);
10
10
10

Collections.nCopies(int n, T obj)तरीका

विधि तत्व की प्रतियों nCopies()की सूची लौटाती है । ध्यान दें कि दी गई सूची अपरिवर्तनीय है, जिसका अर्थ है कि आप इसे बदल नहीं सकते! आप इसका उपयोग केवल मान पढ़ने के लिए कर सकते हैं:nobj

कोड विवरण
List<String> immutableList = Collections.nCopies(5, "Hello");

ArrayList<String> list = new ArrayList<String>(immutableList);

for(String s: list)
   System.out.println(s);
Hello5 स्ट्रिंग्स की एक अपरिवर्तनीय सूची बनाएं
एक म्यूटेबल बनाएं और इसे सूची listके मानों से भरें । कंसोल आउटपुट:immutableList


Hello
Hello
Hello
Hello
Hello

Collections.replaceAll (List<T> list, T oldValue, T newValue)तरीका

विधि संग्रह replaceAll()के सभी तत्वों को listबराबर के oldValueसाथ बदल देती है newValue

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);

Collections.replaceAll(list, 2, 20);

for (int i: list)
   System.out.println(i);
1
20
3

Collections.copy (List<T> dest, List<T> src)तरीका

विधि संग्रह copy()के सभी तत्वों को संग्रह srcमें कॉपी करती है।dest

यदि destसंग्रह संग्रह से अधिक समय तक शुरू होता है src, तो संग्रह के शेष तत्व destबरकरार रहेंगे।

महत्वपूर्ण:
संग्रह destकम से कम संग्रह जितना लंबा होना चाहिए src(अन्यथा, एक IndexOutOfBoundsExceptionफेंक दिया जाएगा)।
कोड कंसोल आउटपुट
ArrayList<Integer> srcList = new ArrayList<Integer>();
Collections.addAll(srcList, 99, 98, 97);

ArrayList<Integer> destList = new ArrayList<Integer>();
Collections.addAll(destList, 1, 2, 3, 4, 5, 6, 7);

Collections.copy(destList, srcList);

for (int i: destList)
   System.out.println(i);
99
98
97
4
5
6
7


3. तत्वों का क्रम

Collections.reverse(List<T> list)तरीका

विधि reverse()उत्तीर्ण सूची के तत्वों के क्रम को उलट देती है।

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 1, 2, 3, 4, 5);

Collections.reverse(list);

for (int i: list)
   System.out.println(i);
5
4
3
2
1

Collections.sort(List<T> list)तरीका

विधि sort()उत्तीर्ण सूची को आरोही क्रम में क्रमबद्ध करती है।

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 11, 2, 23, 4, 15);

Collections.sort(list);

for (int i: list)
   System.out.println(i);
2
4
11
15
23

Collections.rotate(List<T> list, int distance)तरीका

विधि rotate()चक्रीय रूप से पास की गई सूची के तत्वों को distanceआगे की स्थिति से बदल देती है।

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 1, 2, 3, 4, 5, 6, 7, 8, 9);

Collections.rotate(list, 3); // Shift by 3 positions

for (int i: list)
   System.out.println(i);
7
8
9
1
2
3
4
5
6

Collections.shuffle(List<T> list)तरीका

विधि shuffle()बेतरतीब ढंग से पास की गई सूची के सभी तत्वों में फेरबदल करती है। नतीजा हर बार अलग होता है।

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 1, 2, 3, 4, 5);

Collections.shuffle(list); // Shuffle the elements

for (int i: list)
   System.out.println(i);
5
2
4
3
1


4. संग्रह में तत्व ढूँढना

Collections.min(Collection<T> colls)तरीका

विधि min()संग्रह में न्यूनतम तत्व लौटाती है।

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 11, 2, 23, 4, 15);

int min = Collections.min(list);

System.out.println(min);
2

Collections.max(Collection<T> colls)तरीका

विधि max()संग्रह में अधिकतम तत्व लौटाती है।

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 11, 2, 23, 4, 15);

int max = Collections.max(list);

System.out.println(max);
23

Collections.frequency(Collection<T> colls, T obj)तरीका

विधि संग्रह में तत्व के होने frequency()की संख्या की गणना करती हैobjcolls

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 11, 2, 23, 4, 15, 4, 2, 4);

int count = Collections.frequency(list, 4);

System.out.println(count);
3

Collections.binarySearch(Collection<T> colls, T obj)तरीका

विधि संग्रह में तत्व binarySearch()की खोज करती है । पाए गए तत्व का सूचकांक लौटाता है। यदि तत्व नहीं मिलता है तो एक ऋणात्मक संख्या लौटाता है।objcolls

महत्वपूर्ण:
विधि को कॉल करने से पहले binarySearch(), संग्रह को सॉर्ट किया जाना चाहिए (उपयोग करें Collections.sort())।
कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 11, 2, 23, 5, 15, 4, 2, 4);

Collections.sort(list);  // 2, 2, 4, 4, 5, 11, 15, 23

int index = Collections.binarySearch(list, 5);    // 4
System.out.println(index);

int index2 = Collections.binarySearch(list, 15);  // 6
System.out.println(index2);

int index3 = Collections.binarySearch(list, 16); // The element doesn't exist
System.out.println(index3);
4
6
-8

Collections.disjoint(Collection<T> coll1, Collection<T> coll2)तरीका

यदि पास किए गए संग्रह में कोई तत्व सामान्य नहीं है, तो यह disjoint()विधि वापस आ जाती है ।true

कोड कंसोल आउटपुट
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.addAll(list, 1, 2, 3, 4, 5, 6, 7);

ArrayList<Integer> list2 = new ArrayList<Integer>();
Collections.addAll(list2, 99, 98, 97);

boolean isDifferent = Collections.disjoint(list, list2);
System.out.println(isDifferent);
true

टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION