Вы можете просто вложить for
петли и использовать для этого диапазоны:
fun permute(list: List<String>): List<Pair<String, String>> {
var result: MutableList<Pair<String, String>> = mutableListOf()
for (i in 0..(list.size - 1)) {
val s = list.get(i)
for (j in (i + 1)..(list.size - 1)) {
val p = Pair(s, list.get(j))
result.add(p)
}
}
return result
}
Могут быть способы, которые больше Kotlin стиль , но я не знаю один на данный момент ...
Использование этого метода в fun main()
, подобном этому
fun main() {
val list = listOf("A", "B", "C", "D")
println(permute(list))
}
приведет к выводу
[(A, B), (A, C), (A, D), (B, C), (B, D), (C, D)]