// version 1.2.10 import java.util.Random /** * Extension function on any list that will return a random element from index 0 * to the last index */ fun List.getRandomElement() = this[Random().nextInt(this.size)] /** * Extension function on any list that will return a list of unique random picks * from the list. If the specified number of elements you want is larger than the * number of elements in the list it returns null */ fun List.getRandomElements(numberOfElements: Int): List? { if (numberOfElements > this.size) { return null } return this.shuffled().take(numberOfElements) } fun main(args: Array) { val list = listOf(1, 16, 3, 7, 17, 24, 34, 23, 11, 2) println("The list consists of the following numbers:\n${list}") // notice we can call our extension functions as if they were regular member functions of List println("\nA randomly selected element from the list is ${list.getRandomElement()}") println("\nA random sequence of 5 elements from the list is ${list.getRandomElements(5)}") }