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’ 函数向其中添加元素。然后将这些元素打印在控制台上。