টাইপড স্ট্রিমকে অ্যারেতে রূপান্তর (Typed Stream toArray)
একটি মেথড রেফারেন্স (method reference) ব্যবহার করে স্ট্রিমকে টাইপড অ্যারেতে রূপান্তর করুন।
কোড তুলনা
✕ Pre-Streams
List<String> list = getNames();
List<String> filtered = new ArrayList<>();
for (String n : list) {
if (n.length() > 3) {
filtered.add(n);
}
}
String[] arr = filtered.toArray(new String[0]);
✓ Java 8+
String[] arr = getNames().stream()
.filter(n -> n.length() > 3)
.toArray(String[]::new);
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
টাইপ-সেফ (Type-safe)
কোনো Object[] কাস্ট করার প্রয়োজন হয় না – অ্যারের টাইপ সঠিক থাকে।
চেইনেবল (Chainable)
যেকোনো স্ট্রিম পাইপলাইনের শেষে এটি ব্যবহার করা যায়।
সুসংক্ষিপ্ত
একটি এক্সপ্রেশন ব্যবহার করেই ম্যানুয়াল লুপের কাজ সম্পন্ন হয়।
পুরনো পদ্ধতি
ম্যানুয়াল ফিল্টার + কপি
আধুনিক পদ্ধতি
toArray(generator)
JDK থেকে
8
কঠিনতা
প্রাথমিক
JDK সমর্থন
টাইপড স্ট্রিমকে অ্যারেতে রূপান্তর (Typed Stream toArray)
উপলব্ধ
JDK 8 (মার্চ 2014) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
toArray(IntFunction) মেথডটি একটি স্ট্রিম থেকে সঠিক টাইপের অ্যারে তৈরি করে। এখানে জেনারেটর (যেমন String[]::new) স্ট্রিমকে বলে দেয় কোন ধরনের অ্যারে তৈরি করতে হবে।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ