Java 8 而不是简单的 java

标签 java java-stream

我正在玩java流。目前,我想根据另一个列表比较 2 个列表。

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Sample {


List <String> text = Stream.of("a","b","c").collect(Collectors.toList());
List <String> text1 = Stream.of("1","2","3").collect(Collectors.toList());
List <String> text2= Stream.of("a","b","c").collect(Collectors.toList());

public void iter(){
    for (int i =0; i<text1.size(); i++){
        if(text.get(i).equals(text2.get(i))){System.out.println("True");}
    }

}
public static void main(String[] args) {
    Sample s = new Sample();
    s.iter();       

}
}

我的问题是,如果你能告诉我如何使用java流而不是“for”。谢谢。

最佳答案

如果您只想检查元素是否存在于另一个List中,您可以使用text.containsAll(text2)。如果两个列表中的顺序相同,您可以使用equals,或者您可以只使用Set

如果你想使用流,那么:

text.forEach(x -> System.out.println(text2.contains(x)));

关于Java 8 而不是简单的 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50652656/

相关文章:

java - Stream.skip 行为与无序终端操作

java - 异常堆栈跟踪中的(未知来源)

java - 带有发布和快照标签的 Maven 远程存储库

java - 连续数据流的排序算法

Java流在减少操作的情况下给出语法错误

java - 在 map 中查找不在 pojo 列表中的值

java - 使用 log4j 包装器在日志语句中打印 "source"类

java - 如何计算存储 N 位所需的 long(64 位)数?

java - 有状态和无状态 lambda 表达式有什么区别?

Java 8 重构 lambda 表达式