面试题答案
一键面试- 实现步骤:
- 首先,在自定义类中定义一个数据结构来存储元素,例如
List
。 - 然后,实现
Iterable
接口,该接口要求实现iterator()
方法。 - 在
iterator()
方法中,返回一个实现了Iterator
接口的对象。Iterator
接口有hasNext()
和next()
方法,分别用于判断是否还有下一个元素以及获取下一个元素。
- 首先,在自定义类中定义一个数据结构来存储元素,例如
- 代码示例:
class CustomClass<T> : Iterable<T> {
private val elements = mutableListOf<T>()
fun addElement(element: T) {
elements.add(element)
}
override fun iterator(): Iterator<T> {
var currentIndex = 0
return object : Iterator<T> {
override fun hasNext(): Boolean {
return currentIndex < elements.size
}
override fun next(): T {
return elements[currentIndex++]
}
}
}
}
你可以这样使用:
fun main() {
val custom = CustomClass<Int>()
custom.addElement(1)
custom.addElement(2)
custom.addElement(3)
for (element in custom) {
println(element)
}
}