转自:
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);
- }
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |