sortedWords = words.stream()
.sorted(Comparator.comparingInt(String::length))
.collect(Collectors.toList());
System.out.println(sortedWords); // 输出:[fig, pear, apple, banana, cherry]
// 找到最大值
Optional | .count() 计数 | .map(x → x+3).collect(Collectors.toList()) 元素增值
.map(String::toUpperCase) 转变大写 |
| --- | --- |
| .collect(Collectors.toList())
.toSet
.toMap | |
| | |
.forEach(System.out::println); 输出元素
parallelStream() 转换并行流
LIST.stream() 转换流
.filter(LIST → LIST > X)过滤出大于X的元素
.filter(s → s.startsWith(”b”)b开头的字符串
.sort(Comparator.compartingInt(String::length).reversed()) 逆序对字符串的长度排序
.sort
.max(Comparator.naturalOrder()) 最大值
import java.util.*;
public class StringLengthSortExample {
public static void main(String[] args) {
List<String> words = Arrays.asList("apple", "pear", "banana", "cherry", "fig");
// 按字符串长度排序(从小到大)
List<String> sortedWords = words.stream()
.sorted(Comparator.comparingInt(String::length))
.collect(Collectors.toList());
System.out.println(sortedWords); // 输出:[fig, pear, apple, banana, cherry]
// 找到最大值
Optional<Integer> maxNumber = numbers.stream().max(Comparator.naturalOrder());
maxNumber.ifPresent(max -> System.out.println("最大值: " + max)); // 输出:最大值: 9
//计算元素个数
long count = numbers.stream() // 将列表转换为流
.filter(n -> n > 6) // 筛选出大于6的元素
.count(); // 计算经过筛选的元素数量
System.out.println(count);
//转换大写、元素全+3
String[] strArr = { "abcd", "bcdd", "defde", "fTr" };
List<String> strList = Arrays.stream(strArr).map(String::toUpperCase).collect(Collectors.toList());
List<Integer> intList = Arrays.asList(1, 3, 5, 7, 9, 11);
List<Integer> intListNew = intList.stream().map(x -> x + 3).collect(Collectors.toList());
System.out.println("每个元素大写:" + strList);
System.out.println("每个元素+3:" + intListNew);
//求和求积
Optional<Integer> sum = list.stream().reduce((x, y) -> x + y);
Optional<Integer> product = list.stream().reduce((x, y) -> x * y);
int sum = a.stream().reduce((x, y) -> x + y).orElse(0);
System.out.println(sum);
//去重
List<String> newList = Stream.concat(stream1, stream2).distinct().collect(Collectors.toList());
//二维数组打印
Arrays.stream(dis)
.map(row -> Arrays.toString(row))
.forEach(System.out::println);
}
}