مرکزی مواد پر جائیں
ماڈیول 6 · سبق 1 از 2کورس میں 11/14~15 min
ماڈیول اسباق (1/2)

سیٹ اور نقشہ

ArrayList کلاس (جو عناصر کی ترتیب شدہ فہرست کی نمائندگی کرتا ہے) کے علاوہ، Java Collections Framework دو دیگر بنیادی انٹرفیس پیش کرتا ہے: Set (منفرد عناصر کے لیے) اور Map (کلیدی قدر کی ایسوسی ایشنز کے لیے)۔

سیٹ: منفرد عناصر کا مجموعہ

A Set ایک مجموعہ ہے جو ڈپلیکیٹ عناصر پر مشتمل نہیں ہو سکتا۔ اس کا سب سے عام نفاذ HashSet ہے، جو اندرونی طور پر ایک ہیش ٹیبل پر مبنی ہے، جو اندراج، ہٹانے، اور موجودگی کی تصدیق کی کارروائیوں کے لیے بہترین کارکردگی کی ضمانت دیتا ہے۔

Java
import java.util.HashSet;
import java.util.Set;

Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // This insertion will be ignored since "Alice" is already present

System.out.println(uniqueNames.size()); // Prints 2

نقشہ: کلیدی قدر ایسوسی ایشن

ایک Map نقشہ منفرد کیز کو قدروں سے۔ اس میں ڈپلیکیٹ کلیدیں شامل نہیں ہوسکتی ہیں: ہر کلید زیادہ سے زیادہ ایک قدر سے وابستہ ہے۔ اس کا معیاری نفاذ HashMap ہے۔

Java
import java.util.HashMap;
import java.util.Map;

Map<String, Integer> ageMap = new HashMap<>();
// Insert or update key-value pairs
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);

// Retrieve value by key
int aliceAge = ageMap.get("Alice"); // Returns 25

// Verify if a key or value exists
boolean hasBob = ageMap.containsKey("Bob"); // Returns true

نقشے پر تکرار کرنا

کلیدی قدر کے جوڑوں پر اعادہ کرنے کے لیے، ہم نقشے کے ذریعے فراہم کردہ اندراجات (entrySet()) کے سیٹ پر ایک for-each لوپ استعمال کر سکتے ہیں۔

Java
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
    System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}

خود ہی آزمائیں۔

ورزش#java.m6.l1.e1
کوششیں: 0لوڈ ہو رہا ہے…

کوڈ کو مکمل کریں۔ 'ایپل'، 'کیلا'، اور 'ایپل' دوبارہ شامل کریں، پھر System.out.println کا استعمال کرتے ہوئے سیٹ کا سائز پرنٹ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

یاد رکھیں کہ 'Set' میں ڈپلیکیٹس کی اجازت نہیں ہے، اور 'items.size()' داخل کیے گئے منفرد عناصر کی اصل تعداد لوٹائے گا۔

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش#java.m6.l1.e2
کوششیں: 0لوڈ ہو رہا ہے…

سٹرنگ کیز اور انٹیجر ویلیوز کے ساتھ عمروں کا نام HashMap بتا کر کوڈ کو مکمل کریں۔ کلید 'ایلس' کو 25 کے ساتھ اور کلید 'باب' کو 30 کے ساتھ منسلک کریں، پھر باب کی عمر کو بازیافت اور پرنٹ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

جوڑے داخل کرنے کے لیے `put` طریقہ استعمال کریں اور کلیدوں کی بنیاد پر اقدار کو بازیافت کرنے کے لیے `get` طریقہ استعمال کریں۔

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش#java.m6.l1.e3
کوششیں: 0لوڈ ہو رہا ہے…

یہ چیک کر کے کوڈ کو مکمل کریں کہ آیا ممالک کے نقشے میں کلید 'FR' ہے اور بولین نتیجہ پرنٹ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

مطلوبہ کلید کی موجودگی کو چیک کرنے کے لیے 'ممالک' آبجیکٹ پر 'containsKey' طریقہ استعمال کریں۔

3 کوششوں کے بعد حل دستیاب ہے۔