Stream trong Java 8
Stream pipeline
Bao gồm
- 1 stream source
- 0 hoặc nhiều intermediate operation
- 1 terminal operation
distinct()
- Loại bỏ các phần tử giống nhau
Output:
filter()
- Lọc các phần tử theo điều kiện
- Ví dụ: Đếm các String null hoặc empty trong mảng
Output:
limit()/skip()
- limit lấy các phần tử đầu tiên. skip bỏ các phần tử đầu tiên.
- Ví dụ: Print 5 phần tử đầu tiên của mảng
Output:
map()
- Ánh xạ phần tử sang kết quả khác
- Ví dụ: Nhân 2 các giá trị trong mảng
Output:
sorted()
- Ví dụ: Sắp xếp theo thứ tự lớn đến nhỏ
Output:
Terminal Operations
collect()
- Kết hợp thành một Collection
forEach()
- Duyệt và thao tác lên từng phần tử
- Ví dụ: Println từng phần tử trong mảng
Output:
anyMatch(), allMatch(), noneMatch()
- anyMatch trả về true nếu có bất kỳ phần tử nào thỏa điều kiện, ngược lại false
- allMatch kiểm tra tất cả phần tử thỏa yêu cầu hay không? noneMatch ngược lại
- Ví dụ: Kiểm tra list có chưa số lẻ hay không
min(), max()
- Ví dụ: Tìm string dài nhất trong steam
reduce()
- Kết hợp các phần tử thầnh một giá trị duy nhất
- Ví dụ: Tổng các số trong mảng
Output:
count()
- count đếm số phần tử trong mảng
Source code ở đây