কম্পিউটার

জাভাতে অ্যারেলিস্ট এবং হ্যাশসেটের মধ্যে পার্থক্য


হ্যাশসেট এবং অ্যারেলিস্ট উভয়ই জাভা কালেকশন ফ্রেমওয়ার্কের সবচেয়ে গুরুত্বপূর্ণ ক্লাস।

নিচে 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

  1. জাভাতে ট্রি সেট এবং হ্যাশ সেটের মধ্যে পার্থক্য

  2. জাভাতে ইটারেটর এবং গণনার মধ্যে পার্থক্য

  3. জাভাতে ArrayList.clear() এবং ArrayList.removeAll() এর মধ্যে পার্থক্য?

  4. জাভা প্রোগ্রামিং-এ ArrayList এবং CopyOnWriteArrayList এর মধ্যে পার্থক্য।