我在理解Kotlin课程方面遇到了一些问题.
internal class TransformingSequence<T, R>
constructor(private val sequence: Sequence<T>, private val transformer: (T) -> R) : Sequence<R> {
override fun iterator(): Iterator<R> = object : Iterator<R> {
val iterator = sequence.iterator()
override fun next(): R {
return transformer(iterator.next())
}
override fun hasNext(): Boolean {
return iterator.hasNext()
}
}
internal fun <E> flatten(iterator: (R) -> Iterator<E>): Sequence<E> {
return FlatteningSequence<T, R, E>(sequence, transformer, iterator)
}
}
在上面的代码中,我不明白iterator()函数在做什么.该函数似乎继承自Iterator接口,并返回对象(?)继承Iterator接口.?而且我不知道"val iterator = order.iterator()"是用于的.有人能帮忙吗? 提前感谢.