I want to split a list into 2 lists. One with all elements except last one. Another list which has the last element.
This works fine if the list size is greater than 1.
val initialList = listOf("1", "2", "3", "4")
//val initialList = listOf("1")
val listOfAllElementsExceptLastElement = initialList
.dropLast(1)
.map {
//do some mapping logic
}
val listOfLastElement = initialList
.takeLast(1)
.map {
//do some mapping logic
}
But if the list size is 1 then I want that to be populated in the first list and not the second one. Is it possible to do this without using if condition?
If I use if condition then I need to duplicate the code of listOfAllElementsExceptLastElement and I am trying to avoid that.
You can do it without code duplication by just calculating the number of last elements depending on the size of the initial list: