Stream练习
1. 拼接
给定一个字符串数组,使用 Stream 把所有字符串拼接成一个字符串。
import java.util.Arrays;
import java.util.stream.Collectors;
public class StringJoinWork01 {
public static void main(String[] args) {
String[] arr = {
"a", "b", "c"};
System.out.println(Arrays.stream(arr).collect(Collectors.joining())); // abc
System.out.println(String.join("",arr)); // abc
}
}
2. 求值
有一个整数集合,分别完成以下操作:
- 所有元素之和
- 最大值
- 最小值
import java.util.Arrays;
import java.util.OptionalInt;
public class EvaluationWork02 {
public static void main(String[] args) {
int[] ints = {
2, 3, 4, 5, 10, 2, 1};
long count = Arrays.stream(ints).count(); // 计数
System.out.println(count); // 7
OptionalInt max = Arrays.stream(ints).max(); // 最大值
System.out.println(max.getAsInt()); // 10
OptionalInt min = Arrays.stream(ints).min(); // 最小值
System.out.println(min.getAsInt()); // 1
int sum = Arrays.stream(ints).sum(); // 求和
System.out.println(sum); // 27
}
}
3. 薪资最低的员工
有一个员工类Employee,里面有name、age和salary字段。请通过 Stream 对多个Employee对象按salary排序,然后取前3个输出。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class SalaryMinWork03 {
public static void