কম্পিউটার টিউটোরিয়াল

জাভাতে List এবং Set এর পার্থক্য

List এবং Set উভয়ই কালেকশন ফ্রেমওয়ার্কের ইন্টারফেস, এবং উভয়েই Collection ইন্টারফেস এক্সটেন্ড করে। এগুলো অবজেক্টের সমষ্টিকে একক ইউনিট হিসেবে স্টোর করতে ব্যবহৃত হয়। JDK 1.2 এর আগে অ্যারে, ভেক্টর, হ্যাশটেবল ব্যবহার করা হতো।

ক্রমিক নং কী List Set
১ পজিশনাল অ্যাক্সেস এলিমেন্টের পজিশনাল অ্যাক্সেস देता (ইন্ডেক্স দিয়ে) পজিশনাল অ্যাক্সেস দেয় না
২ ইমপ্লিমেন্টেশন ArrayList, LinkedList, Vector, Stack HashSet, LinkedHashSet, TreeSet
৩ ডুপ্লিকেট ডুপ্লিকেট এলিমেন্ট স্টোর করা যায় ডুপ্লিকেট এলিমেন্ট স্টোর করা যায় না
৪ অর্ডারিং ইনসারশন অর্ডার মেইনটেইন করে কোনো অর্ডার মেইনটেইন করে না (LinkedHashSet ব্যতীত)
৫ নাল এলিমেন্ট একাধিক নাল এলিমেন্ট স্টোর করা যায় শুধু একট নাল এলিমেন্ট স্টোর করা যায়

List উদাহরণ (ArrayList)

import java.util.List;
import java.util.ArrayList;

public class ListExample {
    public static void main(String[] args) {
        List al = new ArrayList<>();
        al.add("BMW");
        al.add("Audi");
        al.add("BMW"); // ডুপ্লিকেট
        System.out.println("List এলিমেন্টগুলো: ");
        System.out.print(al);
    }
}

আউটপুট

List এলিমেন্টগুলো: [BMW, Audi, BMW]

Set উদাহরণ (HashSet)

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

public class SetExample {
    public static void main(String args[]) {
        int count[] = {2, 4, 3, 5};
        Set hset = new HashSet<>();
        try {
            for (int i = 0; i < 4; i++) {
                hset.add(count[i]);
            }
            System.out.println(hset);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

আউটপুট

[2, 4, 3, 5]

নির্বাচন গাইড: ডুপ্লিকেট বা অর্ডার দরকার হলে List (ArrayList)। ইউনিক এলিমেন্ট ও ফাস্ট লুকআপ দরকার হলে Set (HashSet)।

  1. জাভা কালেকশনে next() এবং hasNext()-এর পার্থক্য কী?

  2. জাভাতে list() এবং listFiles() মেথডের পার্থক্য কী?

  3. জাভাতে ArrayList এবং HashSet-এর পার্থক্য

  4. জাভাতে Iterator এবং ListIterator-এর পার্থক্য