Multiset 接口 – Java

java 8server side programmingprogramming

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

  • 如果将 Multiset 视为列表,则情况并非如此,因为列表不能包含重复值,并且列表元素始终按特定顺序排列。
  • Multiset 可以被认为是介于列表和 Set 结构之间的集合。在 Multiset 中,允许存在重复值,并且不能保证 Multiset 中的元素按特定顺序出现。Multiset 也称为"包"。
  • 它也可以被视为包含元素及其频率的映射。
  • 在 Multiset 中,特定元素出现的总次数也称为"计数"该特定元素的计数。
  • multiset.count(element) 函数在元素不存在于多集中时始终返回 0。
  • Multiset 使用 Obejct.equals(java.lang.Object) 来检查两个实例是否相同,除非在实现中另有说明。
  • Multiset 可用于添加元素、删除元素或明确指定它们的频率。
  • setCount(element, 0) 函数的基本含义是将特定元素的频率/计数设为 0,即删除该元素或将其从多集中移除所有出现。
  • Multiset 始终包含频率为正的元素。多集中的元素频率不能为负。这意味着计数为负或 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);

输出

[示例 x 2]

定义一个字符串类型的多集集合,并使用 ‘add’ 函数向其中添加元素。然后将这些元素打印在控制台上。


相关文章