如何利用列表转换计算Rectangle列表中各矩形的周长?
Kotlin列表转换计算矩形周长指南
核心思路
列表转换(list transformation)在Kotlin里最常用的实现方式是map()函数——它会遍历原列表的每个元素,按照指定规则转换为新元素,最终生成一个全新的列表。你的Rectangle类已经定义好了perimeter属性,直接用map()提取即可。
实现代码
data class Rectangle(val height: Int, val width: Int) { val perimeter: Int get() = height * 2 + width * 2 val area: Int get() = height * width } val rectangles = listOf( Rectangle(11, 5), Rectangle(14, 3), Rectangle(5, 6), Rectangle(12, 21), Rectangle(35, 32), Rectangle(10, 12), Rectangle(4, 9) ) // 执行列表转换,提取所有矩形的周长 val perimeters = rectangles.map { it.perimeter } // 验证结果 fun main() { println("各矩形周长:$perimeters") // 输出:各矩形周长:[32, 34, 22, 66, 134, 44, 26] }
额外说明
如果不想依赖类里的perimeter属性,也可以直接在map()里计算周长:
val perimeters = rectangles.map { it.height * 2 + it.width * 2 }
内容的提问来源于stack exchange,提问作者gff gff
相关产品推荐
相关产品推荐

