Thu thập dữ liệu vào mảng: + Sử dụng vòng lặp + Phương thức stream.toArray() String result = words.toArray(String::new); words.toArray() trả về Object Phương thức stream.collect(): + Đưa dữ liệu vào HashSet: HashSet result = stream.collect(HashSet::new, HashSet::add, HashSet::addAll);
Trang 1Chương 2 The Stream API
SV: NGUYỄN ANH QUÂN
MSSV: 20122276
IT4784 – LẬP TRÌNH JAVA
Trang 3Thu thập dữ liệu vào mảng
Sử dụng vòng lặp
Phương thức stream.toArray()
String[] result = words.toArray(String[]::new);
//words.toArray() trả về Object[]
Trang 4Phương thức stream.collect()
Đưa dữ liệu vào HashSet:
HashSet<String> result =
stream.collect(HashSet::new, HashSet::add, HashSet::addAll);
supplier
accumulator
combiner
Trang 5 Đưa dữ liệu vào List hoặc Set:
List<String> result = stream.collect(Collectors.toList());
Set<String> result = stream.collect(Collectors.toSet());
Phương thức stream.collect()
Đưa dữ liệu vào kiểu set khác:
TreeSet<String> result = stream.collect(Collectors.toCollection(TreeSet::new));
Trang 6Liên kết các xâu từ stream
String result = stream.collect(Collectors.joining());
String result = stream.map(Object::toString).collect(Collectors.joining(", "));
String result = stream.collect(Collectors.joining(", "));
Trang 7Tối giản stream
IntSummaryStatistics summary = words.collect(Collectors.summarizingInt(String::length));
double averageWordLength = summary.getAverage();
double maxWordLength = summary.getMax();
Trang 8Phương thức stream.forEach()
stream.forEach();
stream.forEachOrdered();
VD:
stream.forEach(System.out::println);
Trang 10A Kiểu Byte
B Kiểu Object
C Trình dịch báo lỗi và yêu cầu người lập trình phải khai báo kiểu
D Kiểu bất kỳ
Trang 11HashSet<String> result =
stream.collect(HashSet::new, HashSet::add,
HashSet::addAll);
A Là một combiner để tạo các phần tử mới của stream
B Là một accumulator để tạo một thể hiện duy nhất của đối tượng đích
C Là một supplier để tạo các thể hiện của đối tượng đích
D Cả 3 phương án trên không đúng
Trang 12A forEach() và forEachOrdered()
B toArray() và toList()
C joining() và getMax()
D map() và collect()