java - 如何在Java中根据条件创建子列表
问题描述
我有一个清单String
List<String> strings = new ArrayList<>(Arrays.asList("C", "C++", "Java"));
现在我想创建另一个列表,该列表将包含该 contains 的所有strings
元素"C"
。所以我相信情况会是这样的:
(String a) -> a.contains("C");
最快、最清晰的方法是什么?
解决方案
我建议对包含字母的任何元素进行流式传输List
,然后使用它来过滤:Stream#filter
'C'
List<String> filteredList = strings.stream()
.filter(s -> s.contains("C"))
.collect(Collectors.toList());
打印filteredList
将产生以下结果:
[C, C++]
推荐阅读
- css - 当容器被赋予最大尺寸时,为什么灵活网格会失去灵活性?
- c# - 使用 C# 在 Active Directory 中搜索时如何摆脱 DirectoryServicesCOMException?
- linux - Linux 的自定义脚本 - 如何从特定文件夹执行 bash 脚本
- python - 使用 Python 从路径复制文件
- postgresql - 有什么方法可以读取行并使其不可读
- amazon-web-services - 用于 python 应用程序的 AWS ALB 入口控制器和入口资源
- javascript - Django 表单:如何使用 ajax 从 db 获取产品数据
- elasticsearch - 查看 Vega + Kibana 中不是 `doc_count` 的任何内容
- javascript - 有条件地从对象数组中删除重复项
- docker - 使用 s2i 为本地存储库构建映像