假设我有两个具有相似但不一定相同内容的流.如何找到两者之间不同的第一个项目.例如,假设我有:
Stream<String> first = Arrays.asList("a", "b", "c").stream();
Stream<String> second = Arrays.asList("a", "x", "c").stream ();
Run Code Online (Sandbox Code Playgroud)
如何确定"b"和"x"是流不同的第一个项目?如果其中一个流被截断呢?
这不是一个用例,流可以做任何对你有用的事情.没有内置的方法来执行此操作,这比将流转换为Iterators并以更传统的方式比较它们更好,或者首先不使用流.
为了更传统地做到这一点,有两个Collection,我会写
Iterator<String> itr1 = collection1.iterator();
Iterator<String> itr2 = collection2.iterator();
for (int i = 0; itr1.hasNext() && itr2.hasNext(); i++) {
if (!itr1.next().equals(itr2.next())) {
System.out.println(i);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |