ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Stream流的用法

2026/9/7 6:42:55 拓冰建站 浏览量
Stream流的用法

中间方法,操作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<Integer> list1 = new ArrayList<>();List<Integer> list2 = new ArrayList<>();Collections.addAll(list1, 1, 2, 3, 4, 5);Collections.addAll(list2, 6, 7, 8, 9, 10);List<Integer> collect1 = list1.stream().filter(s -> s >= 3).toList();System.out.println(collect1);// [3, 4, 5]List<Integer> collect2 = list1.stream().limit(3).toList();System.out.println(collect2);// [1, 2, 3]List<Integer> collect3 = list1.stream().skip(2).toList();System.out.println(collect3);// [3, 4, 5]list1.add(1);List<Integer> collect4 = list1.stream().distinct().toList();System.out.println(collect4);// [1, 2, 3, 4, 5]List<Integer> collect5 = Stream.concat(list1.stream(), list2.stream()).toList();System.out.println(collect5);// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]List<String> collect6 = list1.stream().map(String::valueOf).toList();System.out.println(collect6);// [1, 2, 3, 4, 5, 1]List<Integer> 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<Integer> 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<Integer> collect = list.stream().filter(s -> s >= 3).toList();// 得到集合}
}