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.
