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

জাভা ৯-এ ইমিউটেবল কালেকশন-এর সুবিধাগুলো

জাভা ৯-এ Collections API-তে অনেক ফ্যাক্টরি মেথড যোগ করা হয়েছে। এই ফ্যাক্টরি মেথডগুলো ব্যবহার করে আনমডিফাইয়েবল লিস্ট, সেট ও ম্যাপ কালেকশন অবজেক্ট তৈরি করা যায় যাতে কোডের লাইন সংখ্যা কমে। List.of(), Set.of(), Map.of() এবং Map.ofEntries() হলো স্ট্যাটিক ফ্যাক্টরি মেথড যা জাভা ৯-এ ইমিউটেবল কালেকশন তৈরি করার সুবিধাজনক পথ।

ইমিউটেবল কালেকশনের সুবিধা

  • কম হিপ স্পেস: কালেকশন ডেটা সংরক্ষণের জন্য প্রয়োজনীয় স্পেস জাভার পূর্ববর্তী ভার্সনগুলোর ট্রেডিশনাল পদ্ধতির তুলনায় খুব কম।
  • দ্রুত ডেটা এক্সেস: ডেটা সংরক্ষণ ও Collections.unmodifiable-এ র‍্যাপ করার ওভারহেড কম হলে ডেটা এক্সেস দ্রুত হয়। অর্থাৎ প্রোগ্রামের সামগ্রিক দক্ষতা বাড়ে।
  • থ্রেড সেফটি: ইমিউটেবল কালেকশন স্বাভাবিকভাবে থ্রেড-সেফ। কারণ সব থ্রেড একই আন্ডারলাইং ডেটার ভিউ পায়।

সিনট্যাক্স

List.of(elements...) Set.of(elements...) Map.of(k1, v1, k2, v2)

উদাহরণ

import java.util.Set;
import java.util.List;
import java.util.Map;

public class ImmutableCollectionsTest {
    public static void main(String args[]) {
        List<String> stringList = List.of("a", "b", "c");
        System.out.println("List values: " + stringList);
        Set<String> stringSet = Set.of("a", "b", "c");
        System.out.println("Set values: " + stringSet);
        Map<String, Integer> stringMap = Map.of("a", 1, "b", 2, "c", 3);
        System.out.println("Map values: " + stringMap);
    }
}

আউটপুট

List values: [a, b, c] Set values: [a, b, c] Map values: {a=1, b=2, c=3}
  1. জাভা ৯-এ try-with-resources-এর উন্নতি

  2. জাভাতে জেনেরিক কালেকশন ব্যবহারের গুরুত্ব

  3. জাভাতে ক্লাসের বিভিন্ন প্রকার কী কী?

  4. SOCKS5 প্রক্সির সুবিধা খুঁজে বের করুন: অনলাইন গোপনীয়তা ও নিরাপত্তা বাড়ানোর জন্য