首页 > 解决方案 > 如何在Java中根据条件创建子列表

问题描述

我有一个清单String

List<String> strings = new ArrayList<>(Arrays.asList("C", "C++", "Java"));

现在我想创建另一个列表,该列表将包含该 contains 的所有strings元素"C"。所以我相信情况会是这样的:

(String a) -> a.contains("C");

最快、最清晰的方法是什么?

标签: java

解决方案


我建议对包含字母的任何元素进行流式传输List,然后使用它来过滤:Stream#filter'C'

List<String> filteredList = strings.stream()
        .filter(s -> s.contains("C"))
        .collect(Collectors.toList());

打印filteredList将产生以下结果:

[C, C++]

推荐阅读