Stream được giới thiệu trong Java 8, nó chỉ được sử dụng để xử lý nhóm dữ liệu không phải cho các phần tử sắp xếp. Nó không sửa đổi bộ sưu tập thực tế, chúng chỉ cung cấp kết quả theo các phương thức pipelined.
Stream api hỗ trợ nhiều hoạt động và hoạt động được chia thành hai phần -
- Hoạt động Trung gian- Các hoạt động này được sử dụng để chuyển các phương thức khác và chuyển đổi thành các luồng khác. Chúng không tạo ra kết quả vì thao tác này không gọi cho đến khi thao tác đầu cuối được thực thi. Dưới đây là các ví dụ -
- đã sắp xếp (Bộ so sánh
) - xem trước (Người tiêu dùng
) - riêng biệt ()
- Hoạt động đầu cuối - Các hoạt động này được sử dụng để tạo ra kết quả. Chúng không thể được sử dụng để xâu chuỗi các phương pháp khác. Dưới đây là các ví dụ -
- forEach
- đếm
- toArray
Sr. Không. | Phím | Hoạt động trung gian | Hoạt động đầu cuối |
---|---|---|---|
1 | Cơ bản | Các hoạt động này được sử dụng để chuyển các phương thức khác và chuyển đổi thành các luồng khác | Một hoạt động đầu cuối trong Java là một phương pháp được áp dụng cho một luồng như là bước cuối cùng. |
2 | Loại Trả lại | Chúng chỉ trả về một luồng khác. | Chúng trả về kết quả cuối cùng. |
3 | Phương pháp | Đã sắp xếp (Bộ so sánh peek (Người tiêu dùng riêng biệt() | forEach đếm toArray |
4. | Trường hợp Sử dụng | Các thao tác này nên được sử dụng để chuyển đổi luồng thành một luồng khác | Chúng có thể được sử dụng để tạo ra kết quả. |
Ví dụ về hoạt động trung gian và thiết bị đầu cuối
public class Main { public static void main(String args[]) throws InterruptedException, ExecutionException { List<String> laptopList = new ArrayList(); laptopList.add("DELL"); laptopList.add("ACER"); laptopList.add("HCL"); // Intermediate operation laptopList.sort((p1, p2) -> p1.compareTo(p2)); // Terminal Operation laptopList.forEach(a -> { System.out.println(a); }); } }