Java List根据ID数组过滤列表
一、介绍 这段代码展示的其实是一个非常典型的场景:如何用 Java 8 的 Stream 流高效过滤集合中的元素。咱们直接看代码——先创建一个包含 10 个 User 对象的列表,每个对象里都有 id 和 name 两个字段。接着定义了一个 Integer 类型的数组 arr,里面存放了我们需要筛选

一、介绍
这段代码展示的其实是一个非常典型的场景:如何用 Java 8 的 Stream 流高效过滤集合中的元素。咱们直接看代码——先创建一个包含 10 个 User 对象的列表,每个对象里都有 id 和 name 两个字段。接着定义了一个 Integer 类型的数组 arr,里面存放了我们需要筛选的 id 值:1、2、5、6、9。
核心操作很简单:通过 stream() 把列表转换为流,然后使用 filter 方法进行过滤,过滤条件中用 Arrays.asList(arr).contains(item.getId()) 来判断当前元素的 id 是否存在于目标数组中。最后使用 collect(Collectors.toList()) 将结果收集为新的列表,再通过 forEach 遍历打印。
但这里面藏着一个极易踩坑的细节——注释里特意标出来了:数组类型必须使用 Integer 包装类型,绝对不能写成基本类型 int[]。为什么?因为 Arrays.asList 方法接收的是泛型参数,如果你传入一个 int[],它会被当作一个单独的元素来处理,contains 方法就永远无法匹配到你想要的 id。换句话说,整个过滤逻辑会直接失效。这个细节若不留意,线上排查可能耗费大半天时间。
二、代码
下面就是完整的测试代码,可以直接运行。
@Test
public void listFilter() {
List list = new ArrayList<>();
list.add(new User(1, "a"));
list.add(new User(2, "b"));
list.add(new User(3, "c"));
list.add(new User(4, "d"));
list.add(new User(5, "e"));
list.add(new User(6, "f"));
list.add(new User(7, "g"));
list.add(new User(8, "h"));
list.add(new User(9, "i"));
list.add(new User(10, "j"));
// 注意:数组类型必须使用 Integer 才能正确判断,若用 int 会导致过滤失败
Integer[] arr = new Integer[]{1,2,5,6,9};
List filterList = list.stream()
.filter(item -> Arrays.asList(arr).contains(item.getId()))
.collect(Collectors.toList());
filterList.stream().forEach(System.out::println);
}
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Coze本地模型运行下载与路径配置性能优化指南
Coze接入本地模型的核心在于先准备推理服务,再完成模型下载、存放路径配置、接口适配与性能调优,适合开发测试、数据内控和低成本原型验证场景。
Coze插件安装教程:浏览器、编辑器与扩展市场配置
Coze插件安装可分为平台内插件、浏览器扩展与编辑器扩展三类。配置前需确认账号权限、来源可信、授权范围和测试环境,新手按创建项目、安装插件、填写参数、调试发布的顺序操作更稳妥。
Coze API Key配置教程 账号注册 密钥获取 国内网络设置
围绕Coze与扣子平台的APIKey配置流程,梳理账号注册、密钥创建、环境变量设置、国内网络连通性检查、调用验证、常见报错处理及安全使用边界。
Coze Docker一键部署教程:镜像拉取端口映射数据目录配置
面向想在本地或服务器部署Coze的用户,梳理Docker环境准备、镜像拉取、端口映射、数据目录挂载、启动检查、升级回滚与安全注意事项,帮助快速搭建稳定的AI智能体平台运行环境。
Coze Linux服务器部署:从环境准备到后台运行完整教程
Coze适合团队搭建智能体应用与工作流。Linux部署建议优先采用容器方式,提前规划配置、端口、数据目录与安全策略,并通过服务化方式实现稳定后台运行。
- 热门数据榜
相关攻略
2026-07-12 06:46
2026-07-12 06:46
2026-07-12 06:45
2026-07-12 06:45
2026-07-12 06:45
2026-07-12 06:45
2026-07-12 06:45
2026-07-12 06:45
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

