📅  最后修改于: 2023-12-03 15:05:03.024000             🧑  作者: Mango
在 Scala 中,Iterator
是许多集合类型的基础。zip()
方法是 Iterator
类的一种方法,可以将两个 Iterator
组合到一起。组合后的元素可以是元组,元组中包含两个 Iterator
中的元素。
zip() 方法的语法如下:
def zip[A1 >: A, B](that: IterableOnce[B]): Iterator[(A1, B)]
这个方法接受一个类型为 IterableOnce
的参数,返回一个类型为 (A1, B)
的 Iterator
。
下面给出一个示例,用来说明 zip()
方法的用法:
val list1 = List("A", "B", "C")
val iterator1 = list1.iterator
val list2 = List(1, 2, 3)
val iterator2 = list2.iterator
val zippedIterator = iterator1.zip(iterator2)
for (elem <- zippedIterator) {
println(elem)
}
输出结果为:
(A,1)
(B,2)
(C,3)
这里,我们创建了两个列表 list1
和 list2
,并生成了两个 Iterator
对象 iterator1
和 iterator2
。然后我们通过 zip()
方法将它们组合起来,生成一个新的 Iterator
对象 zippedIterator
。最后我们遍历这个新的 Iterator
,并输出其中的元素。
需要注意的是,当第一个 Iterator
中的元素数量不足时,zip()
方法只会返回两个 Iterator
共同有的元素对。当第二个 Iterator
中的元素数量不足时,zip()
方法直接结束。