多集接口– Java

Multiset是Java中的一个集合,类似于Set结构,它有助于实现顺序无关的相等性。但是唯一的区别是多集还可以包含重复元素。

  • 如果将多集可视化为列表,则情况并非如此,因为列表不能保存重复值,并且列表元素始终处于特定顺序。

  • 可以将多集视为位于列表和集合结构之间的某个集合。在多集中,允许重复值,并且不能保证多集中的元素会以特定顺序出现。Multiset也称为“包”。

  • 它也可以看作是包含元素及其频率的映射。

  • 在多集中,特定元素的出现总数也称为该特定元素的“计数”。

  • multiset.count(element)是一个函数,当元素不在多集中时总是返回0。

  • 除非在实现中指定,否则Multiset使用Obejct.equals(java.lang.Object)来检查两个实例是否被视为相同。

  • 多重集可用于添加元素,删除元素或明确指定其频率。

  • setCount(element,0)函数基本上建议特定元素的频率/计数为0,即,将其删除或从多集中删除所有出现的元素。

  • 多重集始终具有频率为正的元素。多重集中的任何元素都不能具有负频率。这意味着多集中不存在计数为负或0的元素。当调用elementSet()或时,它们将不可见entrySet()

  • multiset.size()可用于获取集合的大小,该大小与多重集中所有元素的计数总和相同。

  • 要查找多重集中不同元素的数量,请使用elementSet().size()。

示例

以下是一个例子-

import com.google.common.collect.HashMultiset;
import com.google.common.collect.Multiset;
Multiset<String> my_multiset = HashMultiset.create();
my_multiset.add("Sample");
my_multiset.add("Sample");
System.out.println(my_multiset);

输出结果

[Sample x 2]

定义了类型字符串的多集集合,并使用“添加”功能将元素添加到其中。然后将元素打印在控制台上。