ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Google guava之Multiset简介说明
[打印本页]
作者:
吴旭华
时间:
2022-9-4 04:48
标题:
Google guava之Multiset简介说明
转自:
http://www.java265.com/JavaCourse/202206/3771.html
Google Guava库是一个非常优秀的包含很多Java工具类集的库,广泛使用在Google公司内部,因此它可以被使用到几乎所有的Java项目中。Google Guava库最初发布在2007年。
Guava是对Java API的补充,对Java开发中常用功能进行更优雅的实现,使得编码更加轻松,代码容易理解。Guava使用了多种设计模式,同时经过了很多测试,得到了越来越多开发团队的青睐。Java最新版本的API采纳了Guava的部分功能,但依旧无法替代。
* 高效设计良好的API,被Google的开发者设计,实现和使用
* 遵循高效的java语法实践
* 使代码更刻度,简洁,简单
* 节约时间,资源,提高生产力 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:
1. 集合 [collections]
2. 缓存 [caching]
3. 原生类型支持 [primitives support]
4. 并发库 [concurrency libraries]
5. 通用注解 [common annotations]
6. 字符串处理 [string processing]
7. I/O
下文笔者讲述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);
}
}
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4