Java 如何一次性检查数组是否包含部分值?

Java 如何一次性检查数组是否包含部分值?,java,Java,我有一个数组 arr = [name1 class age, name2 class age, name3 class age, name1 class age, name2 class age] 我想检查每个项目并将其存储在另一个数组中 String[] r = Arrays.stream(arr) .filter(s -> s.contains("name1")) .toArray(String[]::new); 如何使用上述代码仅保存第一个名称1 输出:[name

我有一个数组

arr = [name1 class age, name2 class age, name3 class age, name1 class age, name2 class age]
我想检查每个项目并将其存储在另一个数组中

String[] r = Arrays.stream(arr)
    .filter(s -> s.contains("name1"))
    .toArray(String[]::new);
如何使用上述代码仅保存第一个名称1

输出:
[name1班级年龄,name1班级年龄]


预期输出:
[name1 class age]

您可以映射第一个匹配项

String[] array = 
  Arrays.stream(arr).filter
  (s -> s.contains("name1")).findFirst().map(s -> new String[] { s }).orElse(new String[] {});

如果只需要检索第一个找到的元素:

String[] r = new String[] { Arrays.stream(arr)
                                  .filter(s -> s.contains("name1"))
                                  .findFirst().orElse("") };

什么东西不管用?发布@Reimeus请查看更新的帖子