Java工具:List根据ID数组过滤列表
一、Java 8 Stream Filter 集合筛选介绍
在日常 Java 开发中,我们经常需要从集合中筛选出满足特定条件的元素。借助 Java 8 的 Stream 流提供的 filter 方法,配合 Arrays.asList 与 contains,可以极为简洁地完成这一任务。然而,有一个细节极易被忽视——数组类型必须使用包装类 Integer,如果错误地使用基本类型 int,过滤结果将完全失效,无法筛选出任何目标元素。
具体操作如下:首先创建一个包含 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。
同类文章
如何借助AI轻松生成专业年度工作总结报告
年度工作总结报告可借助AI轻松生成。回顾全年,在领导与同事协作下各项任务顺利落地,需系统梳理具体事项、亮点成果与不足之处,为未来改进提供依据。
利用AI写作工具提升写作能力的完整指南与范文
AI写作工具可快速生成结构清晰、逻辑严谨的草稿,节省时间用于打磨深层思考。写作需抓好引言、成就、挑战、未来计划四个骨架。借助AI框架生成初稿后,调整语言风格并加入个人细节,可形成专业且具个人色彩的总结。
如何利用AI高效制作工作总结实用指南与范文
利用AI高效制作工作总结需遵循明确受众、收集数据、制定三段式结构、使用工具撰写内容、校对格式化五步流程。AI负责整合素材与搭建框架,个人需注入洞察与细节,最终使总结专业且有说服力。
提升文书能力掌握完整公文写作标准格式助力职场晋升
公文写作标准格式强调标题、正文和落款的规范,能提升信息传递的准确性。掌握此技能可显著提高沟通效率,成为职场晋升的“隐形名片”,尤其适用于政府、企业、教育等行业,助力职业发展。
提升公文写作技巧促进行政效率与企业沟通
公文写作技巧直接影响行政效率与企业内部沟通。通过明确主题、合理使用段落列表、注重细节等方式可提升公文质量。WPSAI技术能一键生成标准化文档,将写作时间从小时压缩到分钟,助力高效沟通。
- 日榜
- 周榜
- 月榜
相关攻略
2026-06-01 21:03
2026-06-01 21:02
2026-06-01 21:01
2026-06-01 21:00
2026-06-01 20:58
2026-06-01 20:57
2026-06-01 20:53
2026-06-01 20:53
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

