Collections
Kotlin collections were inspired by Scala and its mutable and immutable collection types. Kotlin defines its collection types in the kotlin.collections
package, and there you'll see that it basically redefines types that already exist in Java. But all of them get compiled to the Java version of the same type. So you don't have to worry that there is an additional overhead when using them.
The Iterable
interface is the basis for all collection types. It has only one method, iterator
, which returns an object that can iterate over a collection:
public interface Iterable<out T> { public operator fun iterator(): Iterator<T> }
The Iterator
object knows how to iterate over a collection. It has two methods:Â next
which returns the next element, and hasNext
which tells us if there any more elements in the collection:
public interface Iterator<out T> { public operator fun next(): T public operator fun hasNext(): Boolean }
The next interface in the hierarchy is the Collection...