Theoretical Paper
- Computer Organization
- Data Structure
- Digital Electronics
- Object Oriented Programming
- Discrete Mathematics
- Graph Theory
- Operating Systems
- Software Engineering
- Computer Graphics
- Database Management System
- Operation Research
- Computer Networking
- Image Processing
- Internet Technologies
- Micro Processor
- E-Commerce & ERP
- Dart Programming
- Flutter Tutorial
- Numerical Methods Tutorials
- Flutter Tutorials
- Kotlin Tutorial
Practical Paper
Industrial Training
Kotlin List Interface
Kotlin List is an interface and generic collection of elements. The List interface inherits form Collection< T> class. It is immutable and its methods supports only read functionalities.
To use the List interface we need to use its function called listOf(), listOf< E>().
The elements of list follow the sequence of insertion order and contains index number same as array.
List Interface Declaration
public interface List< out E> : Collection< E> (source) public interface List< out E> : Collection< E> (source)
Function of Kotlin List Interface
There are several functions are available in the List interface. Some functions of List interface are mention below.
Functions | Descriptions |
abstract fun contains(element: E): Boolean | It checks specified element is contained in this collection. |
abstract fun containsAll(elements: Collection |
It checks all elements specified are contained in this collection. |
abstract operator fun get(index: Int): E | It returns the element at given index from the list. |
abstract fun indexOf(element: E): Int | Returns the index of first occurrence of specified element in the list, or -1 if specified element is not present in list. |
abstract fun isEmpty(): Boolean | It returns the true if list is empty, otherwise false. |
abstract fun iterator(): Iterator< E> | It returns an iterator over the elements of this list. |
abstract fun lastIndexOf(element: E): Int | It returns the index of last occurrence of specified element in the list, or return -1 if specified element is not present in list. |
abstract fun listIterator(): ListIterator |
It returns a list iterator over the elements in proper sequence in current list. |
abstract fun listIterator(index: Int): ListIterator |
It returns a list iterator over the elements in proper sequence in current list, starting at specified index. |
abstract fun subList(fromIndex: Int, toIndex: Int): List | It returns a part of list between fromIndex (inclusive) to toIndex (exclusive). |
Kotlin List Example 1
Let's see an example of list using listOf() function.
fun main(args: Array< String>){ var list = listOf("Ajay","Vijay","Prakash")//read only, fix-size for(element in list){ println(element) } fun main(args: Array< String>){ var list = listOf("Ajay","Vijay","Prakash")//read only, fix-size for(element in list){ println(element) }
Output:
Ajay Vijay Prakash
Kotlin List Example 2
In the listOf() function we can pass the different types of data at the same time. List can also traverse the list using index range.
fun main(args: Array< String>){ var list = listOf(1,2,3,"Ajay","Vijay","Prakash")//read only, fix-size for(element in list){ println(element) } println() for(index in 0..list.size-1){ println(list[index]) } } fun main(args: Array< String>){ var list = listOf(1,2,3,"Ajay","Vijay","Prakash")//read only, fix-size for(element in list){ println(element) } println() for(index in 0..list.size-1){ println(list[index]) } }
Output:
1 2 3 Ajay Vijay Prakash 1 2 3 Ajay Vijay Prakash
Kotlin List Example 3
For more specific we can provide the generic types of list such as listOf< Int>(), listOf< String>(), listOf< Any>() Let's see the example.
fun main(args: Array< String>){ var intList: List< Int> = listOf< Int>(1,2,3) var stringList: List< String> = listOf< String>("Ajay","Vijay","Prakash") var anyList: List< Any> = listOf< Any>(1,2,3,"Ajay","Vijay","Prakash") println("print int list") for(element in intList){ println(element) } println() println("print string list") for(element in stringList){ println(element) } println() println("print any list") for(element in anyList){ println(element) } } fun main(args: Array< String>){ var intList: List< Int> = listOf< Int>(1,2,3) var stringList: List< String> = listOf< String>("Ajay","Vijay","Prakash") var anyList: List< Any> = listOf< Any>(1,2,3,"Ajay","Vijay","Prakash") println("print int list") for(element in intList){ println(element) } println() println("print string list") for(element in stringList){ println(element) } println() println("print any list") for(element in anyList){ println(element) } }
Output:
print int list 1 2 3 print string list Ajay Vijay Prakash print any list 1 2 3 Ajay Vijay Prakash
Kotlin List Example 4
Let's see the use of different function of Kotlin list interface using listOf< T>() function.
fun main(args: Array< String>){ var stringList: List< String> = listOf< String>("Ajay","Vijay","Prakash","Vijay","Rohan") var list: List< String> = listOf< String>("Ajay","Vijay","Prakash") for(element in stringList){ print(element+" ") } println() println(stringList.get(0)) println(stringList.indexOf("Vijay")) println(stringList.lastIndexOf("Vijay")) println(stringList.size) println(stringList.contains("Prakash")) println(stringList.containsAll(list)) println(stringList.subList(2,4)) println(stringList.isEmpty()) println(stringList.drop(1)) println(stringList.dropLast(2)) } fun main(args: Array< String>){ var stringList: List< String> = listOf< String>("Ajay","Vijay","Prakash","Vijay","Rohan") var list: List< String> = listOf< String>("Ajay","Vijay","Prakash") for(element in stringList){ print(element+" ") } println() println(stringList.get(0)) println(stringList.indexOf("Vijay")) println(stringList.lastIndexOf("Vijay")) println(stringList.size) println(stringList.contains("Prakash")) println(stringList.containsAll(list)) println(stringList.subList(2,4)) println(stringList.isEmpty()) println(stringList.drop(1)) println(stringList.dropLast(2)) }
Output:
Ajay Vijay Prakash Vijay Rohan Ajay 1 3 5 true true [Prakash, Vijay] false [Vijay, Prakash, Vijay, Rohan] [Ajay, Vijay, Prakash]
The limitation of List interface is that it is immutable. It cannot add more elements in list after its declaration. To solve this limitation Collection framework provide mutable list.