Google guava之Multiset简介说明
转自:
http://www.java265.com/JavaCourse/202206/3771.html
下文笔者讲述guava中Multiset集合的简介说明,如下所示
guava之Multiset集合简介
Multiset集合: 可用于存储重复元素 Multiset是ArrayList和Map的结合体 Multiset是没有元素顺序限制的ArrayList Multiset提供了键为元素,值为计数的Map
例:
package com.java265.testmaven; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Set; import com.google.common.collect.HashMultiset; import com.google.common.collect.Multiset; public class TestGuava { /** * java265.com * guava示例分享 * */ public static void main(String[] args) { Multiset<String> multiset = HashMultiset.create(); // 可直接添加元素 multiset.add("java265.com-1"); multiset.add("java265.com-2"); multiset.add("java265.com-3"); multiset.add("java265.com-3"); multiset.add("java265.com-3"); List<String> list = new ArrayList<String>(); list.add("java265.com-4"); list.add("java265.com-5"); list.add("java265.com-6"); // 也可用addAll方法添加集合进来 multiset.addAll(list); // 获取元素"java265.com-3"的计数 System.out.println(multiset.count("java265.com-3")); // 返回去重后的元素set集合 Set<String> set = multiset.elementSet(); // multiset所有元素的个数 System.out.println("multiset.size():" + multiset.size()); // multiset去重后的元素个数 System.out.println("elementSet().size():" + multiset.elementSet().size()); // 元素迭代 Iterator<String> it = multiset.iterator(); while (it.hasNext()) { System.out.println(it.next()); } // 可以通过设置元素的计数,来批量的添加元素,当然能加也能减 multiset.setCount("java265.com-3", 5); // 将元素的计数设为0,就相当于移除所有的"c"元素 multiset.setCount("java265.com-3", 0); // 移除一个元素 multiset.remove("java265.com-3"); // 移除两个"c"元素 multiset.remove("java265.com-3", 2); } }