Kotlin迭代器列表?
我有一个来自JsonNode
fieldNames字符串的迭代器:
val mm = ... //JsonNode val xs = mm.fieldNames()
我想循环的领域,同时保持计数,如下所示:
when mm.size() { 1 -> myFunction1(xs[0]) 2 -> myFunction2(xs[0], xs[1]) 3 -> myFunction3(xs[0], xs[1], xs[2]) else -> print("invalid") }
很明显,上面的代码不起作用,因为迭代器不能像这样索引。 我试图看看是否可以通过mm.toList()
将迭代器转换为列表,但不存在。
我怎样才能做到这一点?
可能最简单的方法是将迭代器转换为Sequence
,然后再转换为List
:
listOf(1,2,3).iterator().asSequence().toList()
结果:
[1, 2, 3]