হ্যাশসেট এবং অ্যারেলিস্ট উভয়ই জাভা কালেকশন ফ্রেমওয়ার্কের সবচেয়ে গুরুত্বপূর্ণ ক্লাস।
নিচে ArrayList এবং HashSet এর মধ্যে গুরুত্বপূর্ণ পার্থক্য রয়েছে।
| Sr. না। | কী | অ্যারেলিস্ট | হ্যাশসেট |
|---|---|---|---|
| 1 | বাস্তবায়ন | ArrayList হল তালিকা ইন্টারফেসের বাস্তবায়ন। | অন্যদিকে হ্যাশসেট হল একটি সেট ইন্টারফেসের বাস্তবায়ন। |
| 2 | অভ্যন্তরীণ বাস্তবায়ন | অ্যারেলিস্ট অভ্যন্তরীণভাবে এর বাস্তবায়নের জন্য অ্যারে প্রয়োগ করে। | হ্যাশসেট অভ্যন্তরীণভাবে এর বাস্তবায়নের জন্য হ্যাশম্যাপ ব্যবহার করে। |
| 3 | উপাদানের ক্রম | অ্যারেলিস্ট সন্নিবেশের ক্রম বজায় রাখে অর্থাৎ বস্তুর ক্রম যাতে তারা সন্নিবেশ করা হয়। | হ্যাশসেট একটি ক্রমবিহীন সংগ্রহ এবং কোনো ক্রম বজায় রাখে না। |
| 4 | সদৃশ | অ্যারেলিস্ট এর সংগ্রহে ডুপ্লিকেট মান অনুমোদন করে। | অন্যদিকে হ্যাশসেটে ডুপ্লিকেট উপাদান অনুমোদিত নয়৷ | ৷
| 5 | সূচক কর্মক্ষমতা | অ্যারেলিস্ট তার কর্মক্ষমতার জন্য সূচী ব্যবহার করে অর্থাৎ এর সূচক ভিত্তিক একটি get(index) কল করে অবজেক্ট পুনরুদ্ধার করতে পারে বা রিমুভ(index) কল করে অবজেক্ট রিমুভ করতে পারে | হ্যাশসেট সম্পূর্ণরূপে অবজেক্টের উপর ভিত্তি করে এবং এটি get() পদ্ধতি প্রদান করে না। |
| 6 | শূন্য অনুমোদিত | কোন সীমাবদ্ধতা ছাড়াই অ্যারেলিস্টে যেকোনো সংখ্যক নাল মান সন্নিবেশ করা যেতে পারে। | অন্যদিকে হ্যাশসেট তার সংগ্রহে শুধুমাত্র একটি নাল মানকে অনুমতি দেয়, যার পরে কোন নাল মান যোগ করার অনুমতি নেই। |
অ্যারেলিস্ট বনাম হ্যাশসেটের উদাহরণ
JavaTester.java
import java.io.*;
import java.util.*;
public class JavaTester {
public static void main(String[] args) throws IOException{
int n = 5;
List<Integer> al = new ArrayList<>(n);
for (int i = 1; i <= n; i++) {
al.add(i);
}
System.out.println(al);
al.remove(3);
System.out.println(al);
for (int i = 0; i < al.size(); i++) {
System.out.print(al.get(i) + " ");
}
}
}
আউটপুট
[1, 2, 3, 4, 5] [1, 2, 3, 5] 1 2 3 5
উদাহরণ
JavaTester.java
import java.util.HashSet;
import java.util.Set;
public class JavaTester {
public static void main(String[] args){
Set<Integer> hs = new HashSet<>();
hs.add(1);
hs.add(2);
hs.add(3);
hs.add(4);
hs.add(4);
for (Integer temp : hs) {
System.out.print(temp + " ");
}
}
}
আউটপুট
1 2 3 4