Разбор 2D-массива в Котлине

Я создал 2D-массив с именем squareData, как показано ниже:

private lateinit var squareData: Array<Array<String>> squareData = Array(3, {Array(3, {""})}) 

Кроме того, я инициализировал этот массив с некоторыми случайными значениями. Теперь я хочу получить эти значения один за другим. Как это сделать, используя цикл for или forEachIndexed?

Вы можете выполнить итерацию в массиве следующим образом:

 for (strings in squareData) { for (string in strings) { Your code here } } 

Первый для итерации по первому размеру, поэтому он имеет строковые массивы, а второй – во втором измерении, поэтому он имеет строковые значения

Вы можете использовать обычный вложенный цикл.

 for (arr in squareData) { for (s in arr) { println(s) } } 

Вы можете выполнять итерацию с помощью forEach :

 squareData.forEach { it.forEach(::println) } 

или если вам нужна позиция индекса, forEachIndexed :

 squareData.forEachIndexed { i,it -> println(i); it.forEach(::println) }