Junior — Middle
Կարո՞ղ է օգտագործել forEach՝ թվային արժեքների գումարը հաշվելու համար կլիենտ-արժեք զույգերի հավաքածուում Kotlin-ում:
sobes.tech AI
Պատասխան AI-ից
Kotlin-ում դուք կարող եք օգտագործել forEach՝ զույգերի հավաքածուն անցնելու համար, բայց թվային արժեքների գումարը հաշվարկելու համար դա ամենահարմար և իդիոմատիկ միջոցը չէ: forEach չի վերադարձնում արդյունք, այդ պատճառով անհրաժեշտ է ստեղծել արտաքին հաշվիչ փոփոխական և փոփոխել այն լամբդայի ներսում, ինչը միշտ չէ, որ հարմար է և կարող է հանգեցնել սխալների:
Լավ է օգտագործել բարձր կարգի ֆունկցիաներ, օրինակ՝ sumOf, որը անմիջապես գումարում է արժեքները տրված չափանիշով:
val map = mapOf("a" to 10, "b" to 20, "c" to 30)
val sum = map.values.sum() // կամ map.sumOf { it.value }
println(sum) // 60
Եթե օգտագործեք forEach, օրինակն այսպիսին կլինի.
var sum = 0
map.forEach { (_, value) ->
sum += value
}
println(sum)
Բայց կոդի մաքրության և ընթեռնելիության համար ավելի լավ է օգտագործել sumOf կամ sum։