Stream API-তে collect() মেথড একটি স্ট্রিম অবজেক্ট থেকে সব অবজেক্ট কালেক্ট করে এবং কলেকশনের টাইপ-এ স্টোর করে। ইউজারকে স্পেসিফাই করতে হয় রেজাল্ট কোন টাইপের কলেকশনে স্টোর হবে। আমরা কলেকশন টাইপ স্পেসিফাই করি Collectors Enum ব্যবহার করে। Collectors Enum-এ বিভিন্ন টাইপ এবং অপারেশন রয়েছে, nhưng অধিকাংশ সময় আমরা Collectors.toList(), Collectors.toSet(), এবং Collectors.toMap() ব্যবহার করি।
সিনট্যাক্স
<R, A> R collect(Collector<? super T,A,R> collector)
উদাহরণ
import java.util.*;
import java.util.stream.*;
public class StreamCollectMethodTest {
public static void main(String args[]) {
List<String> list = List.of("a", "b", "c", "d", "e", "f", "g", "h", "i");
List<String> subset1 = list.stream()
.takeWhile(s -> !s.equals("e"))
.collect(Collectors.toList());
System.out.println(subset1);
List<String> subset2 = list.stream()
.dropWhile(s -> !s.equals("e"))
.collect(Collectors.toList());
System.out.println(subset2);
List<Integer> numbers = Stream.iterate(1, i -> i <= 10, i -> i+1)
.collect(Collectors.toList());
System.out.println(numbers);
}
}
আউটপুট
[a, b, c, d] [e, f, g, h, i] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]