来几道Stream流的练习题
1.给定一个整数列表,使用Stream流进行操作,过滤出其中的奇数并计算其平方值。
package stream;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StreamDemo1 {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> collect = list.stream().filter(num -> num % 2 != 0)
.map(num -> num * num)
.collect(Collectors.toList());
System.out.println(collect);
}
}
2.给定两个字符串列表,使用Stream流进行操作,将它们合并成一个列表并去重。
package stream;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StreamDemo2 {
public static void main(String[] args) {
List<String> str1 = Arrays.asList("apple", "banana", "orange");
List<String> str2 = Arrays.asList("banana", "grape", "pineapple");
List<String> collect = Stream.concat(str1.stream(), str2.stream())
.distinct()
.collect(Collectors.toList());
System.out.println(collect);
}
}
3.给定一个字符串列表,使用Stream流进行操作,计算其中每个字符串的长度并求平均值。
package stream;
import java.util.Arrays;
import java.util.List;
public class StreamDemo3 {
public static void main(String[] args) {
List<String> str = Arrays.asList("orange", "apple", "banana");
double averageLength = str.stream().mapToInt(String::length)
.average()
.orElse(0);
System.out.println("平均长度为:"+averageLength);
}
}
4.给定一个整数列表,使用Stream流进行操作,查找其中的最大值和最小值。
package stream;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public class StreamDemo4 {
public static void main(String[] args) {
List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5);
Optional<Integer> max = integerList.stream().max((a, b) -> a.compareTo(b));
Optional<Integer> min = integerList.stream().max((a, b) -> b.compareTo(a));
max.ifPresent(value -> System.out.println("最大值是:"+ value));
min.ifPresent(value -> System.out.println("最小值是:"+ value));
}
}
5.给定一个字符串列表,使用Stream流进行操作,将其中的字符串转换为大写并按字母顺序排序。
package stream;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamDemo5 {
public static void main(String[] args) {
List<String> list = Arrays.asList("apple", "banana", "orange", "grape", "pineapple");
List<String> collect = list.stream().map(s -> s.toUpperCase())
.sorted()
.collect(Collectors.toList());
System.out.println(collect);
}
}
后续还在更新中…