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]