Kotlin List Get Sub-List
To get the sub-list of a List in Kotlin, call subList() function on this List object, and pass the index range as argument to this function.
The Kotlin List.subList() function returns a part of the list with elements whose index is in between the specified fromIndex (inclusive) and until toIndex (exclusive).
Mathematically, the range of index considered would be [fromIndex, toIndex) of the original list.
Syntax of ListsubList
The syntax of List.subList() function is
subList(fromIndex, toIndex)
Parameter | Description |
---|---|
fromIndex | Required. The index from which elements of this list will be considered in the result. |
toIndex | Required. The index until which elements of this list will be considered in the result. |
Return Value
List.subList() function returns a new list with the elements selected from the index range specified by fromIndex and toIndex.
Example 1 Get Sub-list of a List
In this example, we will take a list of string elements, and find the sub list of this list using List.subList() function.
Kotlin Program
fun main(args: Array<String>) { val list1 = listOf("ab", "bc", "cd", "de", "ef", "fg", "gh") val fromIndex = 2 val toIndex = 5 val result = list1.subList(fromIndex, toIndex) print(result) }
Output
[cd, de, ef]
Since fromIndex is 2, starting index will be 2 and since the toIndex is 5, ending index would be 4. So the elements with index 2, 3 and 4 are considered for the return value.
Example 2 ListsubList fromIndextoIndex out of Range
In this example, we will try to provide toIndex argument with a value such that this index is out of range for the given list.
Kotlin Program
fun main(args: Array<String>) { val list1 = listOf("ab", "bc", "cd", "de", "ef", "fg", "gh") val fromIndex = 2 val toIndex = 10 val result = list1.subList(fromIndex, toIndex) print(result) }
Output
Exception in thread "main" java.lang.IndexOutOfBoundsException: toIndex = 10 at java.base/java.util.AbstractList.subListRangeCheck(AbstractList.java:507) at java.base/java.util.AbstractList.subList(AbstractList.java:497) at HelloWorldKt.main(HelloWorld.kt:5)
Conclusion
In this Kotlin Tutorial, we learned how to find the sublist of a given list based on index range, using Kotlin List.subList() function.