我在实现iterator
和get
set
函数时遇到麻烦。 (编辑:麻烦,我的意思是我不知道该怎么做,我需要帮助)
过去,即使我需要固定大小的集合,我还是继承自ArrayList
。
我还在类中使用了Array
属性,并添加了get
和set
运算符函数,但是这两个解决方案就像是不必要的解决方法。
编辑:我刚刚发现Kotlin本身还没有List
实现(而是使用ArrayList
),所以也许我不应该能够实现它。我将保持打开状态,以防万一。
答案 0 :(得分:0)
Kotlin中有一个非常简洁的功能,可让您通过Delegation轻松实现List
接口。只需在属性上使用by
运算符即可,例如,代替
class Cars {
private val cars = ArrayList<Car>()
}
您写:
class Cars(private val cars: MutableList<Car>): MutableList<Car> by cars
现在Cars
现在实现了List
,可以这样使用:
val cars = Cars(ArrayList())
cars.add(Car())
for (car in cars)
car.vroom()