# Multiset Interface – Java

Java 8Server Side ProgrammingProgramming

Multiset is a collection in Java, that helps in order-independent equality, similar to Set structure. But the only difference is that a multiset can also contain duplicate elements.

• If multiset is visualized as a list, then this wouldn’t be the case since lists can’t hold duplicate values, and list elements are always in a specific order.
• Multiset can be thought of as a collection that lies somewhere between a list and a set structure. In multiset, the duplicates values are allowed, and there is no guarantee that the elements in a multiset would occur in a specific order. Multiset is also known as a ‘bag’.
• It can also be seen as a map that contains elements and their frequencies.
• In a multiset, the total number of occurrences of a specific element is also known as the ‘count’ of that particular element.
• The multiset.count(element) is a function that always returns 0 when the element is not present in the multiset.
• Multiset uses Obejct.equals(java.lang.Object) to check if two instances are considered the same, unless it is specified in the implementation.
• Multiset can be used to add elements, delete them, or specify their frequencies explicitly.
• The setCount(element, 0) function basically suggests that a specific element’s frequency/count be 0, i.e it be deleted or removing all of its occurrences from the multiset.
• Multiset always has elements whose frequencies are positive. No element in a multiset can have a negative frequency. This means an element that had count negative or 0 is considered to be absent from the multiset. They won’t be visible when the elementSet() or entrySet() is called.
• The multiset.size() can be used to obtain the size of the collection, which is same as the sum of the count of all the elements in the multiset.
• To find the number of distinct elements in the multiset, the elementSet().size() is used.

## Example

Following is an example −

import com.google.common.collect.HashMultiset;
Multiset<String> my_multiset = HashMultiset.create();
System.out.println(my_multiset);
[Sample x 2]