Collections (ArrayList, HashMap)
Collections Framework क्या है
Collections Framework objects के समूह store करने की तैयार classes का set है। अपनी data structures बनाने के बजाय, आप ArrayList, HashSet और HashMap जैसी सिद्ध ही इस्तेमाल करते हैं। ये तीन मुख्य विचारों में समूहित हैं: List, Set और Map।
Arrays पर इसे क्यों
- अपने-आप बढ़ती है — array जैसा fixed size नहीं।
- Built-in operations — तैयार methods से add, remove, search और sort।
- कई structures — काम के हिसाब से List, Set या Map चुनिए।
Fixed-size data को arrays ठीक हैं, पर असली programs को collections कहीं ज़्यादा लचीली।
List
import java.util.ArrayList;
ArrayList<String> names = new ArrayList<>();
names.add("Aman");
names.add("Diya");
names.add("Aman"); // duplicates allowed
System.out.println(names);
List items को क्रम में रखती है और duplicates allow करती है। ArrayList सबसे आम List है — जोड़ने पर बढ़ती है, और आप items को index से access करते हैं।
Set
import java.util.HashSet;
HashSet<String> ids = new HashSet<>();
ids.add("A1");
ids.add("A2");
ids.add("A1"); // duplicate अनदेखा
System.out.println(ids.size());
Set सिर्फ़ unique items store करती है — duplicates अपने-आप हट जाते हैं। HashSet आम विकल्प है, duplicates हटाने या membership तेज़ जाँचने को बढ़िया।
Map
import java.util.HashMap;
HashMap<String, Integer> marks = new HashMap<>();
marks.put("Aman", 88);
marks.put("Diya", 92);
System.out.println(marks.get("Diya"));
Map key-value pairs store करती है, तो आप value को उसकी key से देखते हैं। HashMap आम विकल्प है, तेज़ lookup देकर — name-to-marks या id-to-object को बढ़िया।
सही चुनना
| ज़रूरत | इस्तेमाल |
|---|---|
| क्रमित list, duplicates ठीक | ArrayList (List) |
| सिर्फ़ unique values | HashSet (Set) |
| key से देखना | HashMap (Map) |
| Sorted order | TreeSet / TreeMap |
आम गलतियाँ
- Primitives इस्तेमाल करना। Collections objects store करती हैं —
<Integer>इस्तेमाल कीजिए,<int>नहीं। - HashSet/HashMap से order की उम्मीद। वे insertion order नहीं रखतीं।
- Import भूलना।
java.utilसे import कीजिए। - गलत type चुनना। List/Set/Map को इस आधार पर मिलाइए कि order, uniqueness या keys चाहिए।
सारांश
- Collections Framework objects को तैयार data structures देता है।
- List (ArrayList) order रखती है और duplicates allow करती है।
- Set (HashSet) सिर्फ़ unique items store करती है।
- Map (HashMap) तेज़ lookup को key-value pairs store करती है।
- Collections अपने-आप बढ़ती हैं और कई built-in methods देती हैं।
आगे, lists तुलना कीजिए ArrayList vs LinkedList में, या maps HashMap vs Hashtable में।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
Java में Collections Framework क्या है?
List, Set और Map में क्या अंतर है?
Arrays के बजाय collections क्यों इस्तेमाल करूँ?
सबसे ज़्यादा इस्तेमाल होने वाली collection कौन-सी है?
क्या collections primitives store करती हैं?
ArrayList<Integer> इस्तेमाल करते हैं, ArrayList<int> नहीं। Autoboxing conversion आपके लिए संभालता है।