Any class that implements Deque is right for you, like LinkedList :
val linkedList = LinkedList(listOf(2, 3)) linkedList.push(1) println(linkedList) // [1, 2, 3]
LinkedList(listOf(2, 3)) through the LinkedList(listOf(2, 3)) constructor LinkedList(listOf(2, 3)) can be annoying in many places, so feel free to write a factory method:
fun <T> linkedListOf(vararg elements: T): LinkedList<T> { return LinkedList<T>(elements.toList()) } // Usage: val list = linkedListOf(2, 3) list.push(1) println(list) // [1, 2, 3]
source share