সেট ডেটা স্ট্রাকচার শুধু ইউনিক মান সংরক্ষণ করতে ব্যবহৃত হয়, অর্থাৎ কোনো ডুপ্লিকেট মান সেটে সংরক্ষণ করা হবে না। যখন একটি HashSet তৈরি করা হয়, এটি অভ্যন্তরীণভাবে একটি HashMap ইমপ্লিমেন্ট করে। একটি এলিমেন্ট HashSet-এ 'add' ফাংশন ব্যবহার করে ইনসার্ট করা যেতে পারে। এটি অভ্যন্তরীণভাবে 'put' ফাংশন কল করে যেহেতু একটি HashMap অভ্যন্তরীণভাবে তৈরি হয়েছে। এইভাবে, HashMap-এর সাহায্যে Set ইউনিক মান নেয়।
HashMap ইউনিক কি এবং ভ্যালু পেয়ার ধারণ করে, যেখানে কি এবং ভ্যালু পেয়ার 'put' ফাংশন ব্যবহার করে ইনসার্ট করা হয়। 'put' ফাংশন কল করার সময়, কি-এর সাথে জড়িত পূর্বের ভ্যালু বা null রিটার্ন করা হয় নির্ভর করে কি-এর জন্য ম্যাপিং আছে কিনা।
LinkedHashSet HashSet ক্লাস এক্সটেন্ড করে, অর্থাৎ LinkedHashSet 'super' ফাংশন ব্যবহার করে HashSet ক্লাসের কনস্ট্রাক্টরগুলো কল করে।
উদাহরণ
import java.util.HashSet; public class Demo{ public static void main(String args[]){ HashSet my_hashset = new HashSet(); boolean my_b1 = my_hashset.add("only"); boolean my_b2 = my_hashset.add("sample"); boolean my_b3 = my_hashset.add("sample"); System.out.println("The value of first boolean is " + my_b1); System.out.println("The value of second boolean is = "+my_b2); System.out.println("The value of third boolean is = "+my_b3); System.out.println(my_hashset); } }আউটপুট
The value of first boolean is true The value of second boolean is = true The value of third boolean is = false [only, sample]
Demo ক্লাসে main ফাংশন আছে যেখানে HashSet-এর একটি ইনস্ট্যান্স সংজ্ঞায়িত করা হয়েছে। 'add' ফাংশন ব্যবহার করে হ্যাশসেটে এলিমেন্ট যোগ করা হয়েছে। এই এলিমেন্টগুলো তারপর স্ক্রিনে প্রদর্শন করা হয়েছে।