Как отрефакторить функцию либо добавить ее асинхронное выполнение? Kotlin android studi

У меня есть фунция, которая на вход получает 2 двумерных массива на полторы+- тысячи строк каждый и лист с какими-то поисковыми запросами, единственная проблема - я искренне не понимаю, как это рефакторить и единственное, что пришло в голову - раскидать это по разным потокам, но не оч понимаю, как это должно выглядеть

 private fun calcTotalRun(wheelData: Array<Array<String>>, bearingData: Array<Array<String>>, searches:List<String>?, numWheel:Int, numBearing:Int) {
        for (i in 0 until numWheel) {
            for (search: String in searches!!)
                if ((search == wheelData[i][0] || search.isEmpty()))
                    for (j in 0 until numBearing)
                        if (bearingData[j][0].isNotEmpty())
                            if (wheelData[i][2].toInt() == bearingData[j][0].toInt())
                                if (isNumber(bearingData[j][1]) && (bearingData[j][1].toInt() != 0))
                                    wheelData[i][4] =
                                        (wheelData[i][3].toInt() + bearingData[j][1].toInt()).toString() else
                                    wheelData[i][4] =
                                        wheelData[i][3] + " и " + bearingData[j][1]
        }
    }


Ответы (0 шт):