中间方法,操作Stream流中的数据。
方法 | 作用 |
filter | 过滤 |
limit | 获取前几个数据 |
skip | 跳过前几个数据 |
distinct | 数据去重 |
concat | 合并两个流 |
map | 转换数据类型 |
sorted | 排序 |
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Stream;
public class Demo {
public static void main(String[] args) {
List list1 = new ArrayList<>();
List list2 = new ArrayList<>();
Collections.addAll(list1, 1, 2, 3, 4, 5);
Collections.addAll(list2, 6, 7, 8, 9, 10);
List collect1 = list1.stream().filter(s -> s >= 3).toList();
System.out.println(collect1);// [3, 4, 5]
List collect2 = list1.stream().limit(3).toList();
System.out.println(collect2);// [1, 2, 3]
List collect3 = list1.stream().skip(2).toList();
System.out.println(collect3);// [3, 4, 5]
list1.add(1);
List collect4 = list1.stream().distinct().toList();
System.out.println(collect4);// [1, 2, 3, 4, 5]
List collect5 = Stream.concat(list1.stream(), list2.stream()).toList();
System.out.println(collect5);// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
List collect6 = list1.stream().map(String::valueOf).toList();
System.out.println(collect6);// [1, 2, 3, 4, 5, 1]
List collect7 = list1.stream().sorted().toList();
System.out.println(collect7);// [1, 1, 2, 3, 4, 5]
}
}
终结方法,以不同的方式结束Stream流。
方法 | 作用 |
forEach | 遍历 |
count | 统计 |
toArray | 收集数据,得到数组 |
toList | 收集数据,得到集合 |
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Demo {
public static void main(String[] args) {
List list = new ArrayList<>();
Collections.addAll(list, 1, 2, 3, 4, 5);
list.stream().filter(s -> s >= 3).forEach(System.out::println);// 遍历打印
long count = list.stream().filter(s -> s >= 3).count();// 统计数量
Integer[] array = (Integer[]) list.stream().filter(s -> s >= 3).toArray();// 得到数组
List collect = list.stream().filter(s -> s >= 3).toList();// 得到集合
}
}