如何基于Java中的条件创建子列表

时间:2019-05-27 19:38:38

标签: java

我有一个String

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

现在我要创建另一个列表,其中将包含strings的所有元素,其中包含"C"。因此,我相信情况会像这样:

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

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

1 个答案:

答案 0 :(得分:3)

我建议 List,然后使用Stream#filter过滤包含字母'C'的所有元素:

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

打印filteredList将产生以下结果:

[C, C++]