java - 使用另一个所有数组元素过滤数组 - Java 8

标签 java java-8 java-stream

我有一个像这样的字符串数组:

firstArray = {"1", "2", "3", "4" };

我有第二个这样的数组:

secondArray = {"2", "5", "6", "7" };

如果我想使用一个元素进行流式传输,我可以这样做:

firstArray.stream()
    .filter(element -> !element.equals("2"))
    .forEach((element) -> {
        finalArrayList.add(element);
    }
);

如何将第一个数组与第二个数组一起传输 java 8 中的所有元素?

最佳答案

如果您想使用 Stream API 仅保留第一个数组中第二个数组中没有的元素,您可以这样做:

List<String> result = Arrays.stream(firstArray)
    .filter(el -> Arrays.stream(secondArray).noneMatch(el::equals))
    .collect(Collectors.toList());

关于java - 使用另一个所有数组元素过滤数组 - Java 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39899078/

相关文章:

使用 lambda 的 List<> 的 Java8 子列表

java - 向流中添加两个 Java 8 流或一个额外元素

java - 在由 Stream 外部的对象确定的流上返回 min

java - 如何在Android中录制麦克风和媒体播放器

java - 为什么 JVM 在将对象传递给方法时会创建对象的副本?

Java 流 |按相同元素分组

java - 在流Java中拆分字符串

Java 线程竞争条件与 BlockingQueue

java - setOnClickListener(this) 的性能注意事项

Java Lambda 使用条件检查解析集合