# कलेक्शन — कोर जावा

Source: https://www.geekswithgeeks.com/hi/core-java/java-collections

> List, Set और Map परिवारों से सही डेटा संरचना चुनें, टाइप सुरक्षा के लिए generics उपयोग करें, और merge व computeIfAbsent जैसे map हेल्पर अपनाएँ।

## तीन परिवार

**List** — क्रमित, डुप्लिकेट ठीक। **Set** — कोई डुप्लिकेट नहीं। **Map** — की → वैल्यू। इंटरफ़ेस के लिए कोड लिखें।

## रोज़मर्रा उपयोग

जेनरिक्स कम्पाइल-टाइम टाइप सुरक्षा देते हैं। Map पर `getOrDefault`, `computeIfAbsent` उपयोग करें।

```java
Map<String, Integer> counts = new HashMap<>();
for (String w : words) {
    counts.merge(w, 1, Integer::sum);
}
List<String> names = new ArrayList<>(List.of("Ada", "Al"));
names.forEach(System.out::println);
```

कलेक्शन चुनें

**Quiz:** अद्वितीय यूज़र ID रखने और तेज़ी से जाँचने के लिए कौन-सा टाइप?

- [ ] ArrayList
- [x] HashSet
- [ ] LinkedList
- [ ] int[]

*Answer:* HashSet. HashSet औसतन O(1) contains() देता है और डुप्लिकेट अपने-आप हटाता है।
