Collections মধ্যম

stream.toList() ব্যবহার করে সরাসরি একটি আনমডিফাইয়েবল লিস্টে (unmodifiable list) ডেটা সংগ্রহ করুন।

✕ Java 8
List<String> list = stream.collect(
    Collectors.collectingAndThen(
        Collectors.toList(),
        Collections::unmodifiableList
    )
);
✓ Java 16+
List<String> list = stream.toList();
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
📏

সবচেয়ে সংক্ষিপ্ত

stream.toList()-এর জন্য collect() বা Collectors ইম্পোর্ট করার কোনো প্রয়োজনই নেই।

🔒

ইমিউটেবল (Immutable)

ফলাফলে কোনো পরিবর্তন আনা সম্ভব নয় – আকস্মিক মিউটেশনের (accidental mutations) ঝুঁকি নেই।

📖

পঠনযোগ্য

যেকোনো স্ট্রিম পাইপলাইনের টার্মিনাল ধাপ (terminal step) হিসেবে এটি স্বাভাবিকভাবেই পঠনযোগ্য।

পুরনো পদ্ধতি
collectingAndThen
আধুনিক পদ্ধতি
stream.toList()
JDK থেকে
16
কঠিনতা
মধ্যম
আনমডিফাইয়েবল কালেক্টর (Unmodifiable Collectors)
উপলব্ধ

JDK 16 (মার্চ 2021) থেকে ব্যাপকভাবে উপলব্ধ

জাভা 10-এ toUnmodifiableList(), toUnmodifiableSet(), এবং toUnmodifiableMap() মেথডগুলো যোগ করা হয়েছিল, যা verbose collectingAndThen র‍্যাপারকে প্রতিস্থাপন করে। বিশেষ করে লিস্টের জন্য, জাভা 16-এর stream.toList() আরও সরল একটি বিকল্প প্রদান করে – এখানে collect() মেথড কল করারও প্রয়োজন নেই। অন্যান্য কালেকশন টাইপের জন্য toUnmodifiableSet() এবং toUnmodifiableMap() ব্যবহার করা উচিত।