Stream的终止操作
.
匹配与查找
1 - 匹配与查找
@Test
public void test0(){
List
<Employee> employeeList
= EmployeeData
.getEmployees();
boolean allMatch
= employeeList
.stream().allMatch(e
-> e
.getAge() > 18);
System
.out
.println(allMatch
);
boolean anyMatch
= employeeList
.stream().anyMatch(e
-> e
.getSalary() > 10000);
System
.out
.println(anyMatch
);
boolean noneMatch
= employeeList
.stream().noneMatch(e
-> e
.getName().startsWith("雷"));
System
.out
.println(noneMatch
);
Optional
<Employee> first
= employeeList
.stream().findFirst();
System
.out
.println(first
);
Optional
<Employee> any
= employeeList
.stream().findAny();
System
.out
.println(any
);
}
@Test
public void test1(){
List
<Employee> employeeList
= EmployeeData
.getEmployees();
long count
= employeeList
.stream().count();
System
.out
.println(count
);
Stream
<Double> money
= employeeList
.stream().map(e1
-> e1
.getSalary());
Optional
<Double> maxMoney
= money
.max(Double
::compareTo
);
System
.out
.println(maxMoney
);
Optional
<Employee> employee
= employeeList
.stream().min((e1
, e2
) -> Double
.compare(e1
.getSalary(), e2
.getSalary()));
System
.out
.println(employee
);
employeeList
.stream().forEach(System
.out
::println
);
employeeList
.forEach(System
.out
::println
);
}
.
归约
2 - 归约
@Test
public void test2(){
List
<Integer> list
= Arrays
.asList(1,2,3,4,5,6,7,8,9,10);
Integer reduce
= list
.stream().reduce(0, Integer
::sum
);
System
.out
.println(reduce
);
List
<Employee> employeeList
= EmployeeData
.getEmployees();
Optional
<Double> reduce1
= employeeList
.stream().map(e1
-> e1
.getSalary()).reduce((d1
,d2
) -> d1
+ d2
);
System
.out
.println(reduce1
);
}
.
收集
3 - 收集
@Test
public void test3(){
List
<Employee> employees
= EmployeeData
.getEmployees();
List
<Employee> employeeList
= employees
.stream().filter(e
-> e
.getSalary() > 6000).collect(Collectors
.toList());
employeeList
.forEach(System
.out
::println
);
System
.out
.println();
Set
<Employee> employeeSet
= employees
.stream().filter(e
-> e
.getSalary() > 6000).collect(Collectors
.toSet());
employeeSet
.forEach(System
.out
::println
);
}
转载请注明原文地址: https://lol.8miu.com/read-25531.html