# Getting multiple, unique, random elements from a list of elements in Scala

Here, we are going to learn how to get multiple, unique, random elements from a list of elements in Scala?
Submitted by Shivang Yadav, on May 11, 2020

## List in Scala

The list is an immutable collection of elements of the same data type. The thing that makes a List different from an array is that List is Linked List.

## How to get multiple unique elements?

Multiple random unique elements is a set of elements (more than one) that are random element taken from a unique element of the list randomly.

Example:

```    List = (10, 20, 10, 40, 10, 70, 20, 90)
Distinct elements of list = (10, 20, 40, 70, 90)
Multiple random elements(2) = (40, 90)
```

## Program to find multiple random unique elements

```object MyObject {

def main(args: Array[String]) {
val mylist = List(10, 20, 10, 40, 10, 20, 90, 70)
println("Element of the list:\n" + mylist)
println("Unique elements of the list:\n" + mylist.distinct)
println("Multiple Random elmenets of the list:\n" + scala.util.Random.shuffle(mylist.distinct).take(2))
}

}
```

Output

```Element of the list:
List(10, 20, 10, 40, 10, 20, 90, 70)
Unique elements of the list:
List(10, 20, 40, 90, 70)
Multiple Random elmenets of the list:
List(20, 90)
```

Explanation:

In this program, we are going to extract multiple unique random elements from the List. For this we have used 3 function, let's discuss them one by one.

• distinct: the distinct method does exactly what its name suggests i.e. it rips off the duplicate elements and the new list will contain only unique elements.
• shuffle: the shuffle method is a part of Random class the shuffles the elements of the list to a random arrangement.
• take: the take method is used to take any number of elements from the list.

So, to extract our multiple unique random elements from the list we have first used the distinct to extract all unique elements. After this, we have shuffled the element using shuffle. so, while taking the element we will get random elements. Finally, we have used to take the method to select 2 elements from the List.

Preparation

What's New

Top Interview Coding Problems/Challenges!

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates