মূল কন্টেন্টে যান
মডিউল 6 · 1-এর পাঠ 2কোর্সে 11/14~15 min
মডিউল পাঠ (1/2)

সেট এবং মানচিত্র

ArrayList ক্লাসের বাইরে (যা উপাদানগুলির একটি অর্ডারকৃত তালিকা উপস্থাপন করে), জাভা কালেকশন ফ্রেমওয়ার্ক আরও দুটি মৌলিক ইন্টারফেস অফার করে: সেট (অনন্য উপাদানগুলির জন্য) এবং মানচিত্র (কী-মানের অ্যাসোসিয়েশনের জন্য)।

সেট: অনন্য উপাদানের সংগ্রহ

একটি 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 ব্যবহার করে সেটের আকার প্রিন্ট করুন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

মনে রাখবেন যে একটি `সেট`-এ নকল অনুমোদিত নয় এবং `items.size()` ঢোকানো অনন্য উপাদানের প্রকৃত সংখ্যা ফিরিয়ে দেবে।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম#java.m6.l1.e2
প্রচেষ্টা: 0লোড হচ্ছে...

স্ট্রিং কী এবং পূর্ণসংখ্যা মানের সাথে বয়সের নামের একটি হ্যাশম্যাপ ঘোষণা করে কোডটি সম্পূর্ণ করুন। 25 এর সাথে কী 'Alice' এবং 30 এর সাথে কী 'বব' যুক্ত করুন, তারপর ববের বয়স পুনরুদ্ধার করুন এবং মুদ্রণ করুন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

জোড়া সন্নিবেশ করতে `পুট` পদ্ধতি এবং কীগুলির উপর ভিত্তি করে মান পুনরুদ্ধার করতে `গেট` পদ্ধতি ব্যবহার করুন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম#java.m6.l1.e3
প্রচেষ্টা: 0লোড হচ্ছে...

দেশের মানচিত্রে কী 'FR' আছে কিনা তা পরীক্ষা করে কোডটি সম্পূর্ণ করুন এবং বুলিয়ান ফলাফল প্রিন্ট করুন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

প্রয়োজনীয় কীটির উপস্থিতি পরীক্ষা করতে `দেশ` অবজেক্টে `containsKey` পদ্ধতি ব্যবহার করুন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ