Nói steam trước xem hạ kotlin một cái phương pháp sáng tác nếu dùng java viết như thế nào
fun main() {
// sáng tạo một cái danh sách
val fruits = listOf( "Apple", "Banana", "Cherry", "Date", "Elderberry" )
// sử dụng Sequence tiến hành lọc cùng chiếu rọi thao tác
val uppercaseFruitLengths = fruits.asSequence()
.filter { it.length > 5 } // lọc chiều dài lớn hơn 5 trái cây danh
.map { it.toUpperCase() } // đem mỗi cái trái cây danh chuyển vì viết hoa
.toList() // thay đổi vì danh sách thu thập kết quả
// phát ra kết quả
println(uppercaseFruitLengths)
}
steam tác dụng
Stream API là một cái cường đại hàm số thức biên trình công cụ, dùng cho đối tập hợp tiến hành hiệu suất cao, thanh minh thức xử lý.
Mặt trên demo dùng java bình thường phương pháp sáng tác
List<String> list = Arrays.asList( "Apple", "Banana", "Cherry", "Date", "Elderberry" );
List<String> list1 = new ArrayList<>();
for (String i: list) {
if (i.length() > 5) {
i = i.toUpperCase();
list1.add(i);
}
}
Log.d( "======i", list1.toString());
Sử dụng steam
List<String> list = Arrays.asList( "Apple", "Banana", "Cherry", "Date", "Elderberry" );
List<String> li =list.stream().filter(i->i.length()>5).map(String::toUpperCase).collect(Collectors.toList());
Log.d( "=======li",li.toString());
Ở viết một cái demo như sau
Phía dưới một cái có list List<Integer> numbers = Arrays.asList(1, 6, 3, 2, 8, 9);
Nhu cầu: Tìm được list trung lớn hơn 5 con số, lúc sau lại bài tự
Bình thường phương pháp sáng tác
List<Integer> numbers = Arrays.asList(1, 6, 3, 2, 8, 9);
List<Integer> num = new ArrayList<>();
for (Integer j: numbers) {
if (j > 5) {
num.add(j);
}
}
Collections.sort(num);
Log.d( "========num", num.toString());
Sử dụng steam phương pháp sáng tác
List<Integer> numbers = Arrays.asList(1, 6, 3, 2, 8, 9);
List<Integer> nums = numbers.stream().filter(i->i>5).collect(Collectors.toList());
Log.d( "========nums", nums.toString());
steam bên trong phương pháp có rất nhiều
Nếu không rõ ràng lắm mỗi cái tác dụng, có thể đến nguyên mã bên trong xem hạ chú thích