Google guava之Multiset简介说明

打印 上一主题 下一主题

主题 907|帖子 907|积分 2721

转自:
 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集合简介
  1. Multiset集合:
  2.    可用于存储重复元素
  3. Multiset是ArrayList和Map的结合体
  4. Multiset是没有元素顺序限制的ArrayList
  5. Multiset提供了键为元素,值为计数的Map
复制代码
例:
  1. package com.java265.testmaven;
  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. import java.util.List;
  5. import java.util.Set;
  6. import com.google.common.collect.HashMultiset;
  7. import com.google.common.collect.Multiset;
  8. public class TestGuava {
  9.         /**
  10.          * java265.com
  11.          * guava示例分享
  12.          * */
  13.         public static void main(String[] args) {
  14.                 Multiset<String> multiset = HashMultiset.create();
  15.                 // 可直接添加元素
  16.                 multiset.add("java265.com-1");
  17.                 multiset.add("java265.com-2");
  18.                 multiset.add("java265.com-3");
  19.                 multiset.add("java265.com-3");
  20.                 multiset.add("java265.com-3");
  21.                 List<String> list = new ArrayList<String>();
  22.                 list.add("java265.com-4");
  23.                 list.add("java265.com-5");
  24.                 list.add("java265.com-6");
  25.                 // 也可用addAll方法添加集合进来
  26.                 multiset.addAll(list);
  27.                 // 获取元素"java265.com-3"的计数
  28.                 System.out.println(multiset.count("java265.com-3"));
  29.                 // 返回去重后的元素set集合
  30.                 Set<String> set = multiset.elementSet();
  31.                 // multiset所有元素的个数
  32.                 System.out.println("multiset.size():" + multiset.size());
  33.                 // multiset去重后的元素个数
  34.                 System.out.println("elementSet().size():" + multiset.elementSet().size());
  35.                 // 元素迭代
  36.                 Iterator<String> it = multiset.iterator();
  37.                 while (it.hasNext()) {
  38.                         System.out.println(it.next());
  39.                 }
  40.                 // 可以通过设置元素的计数,来批量的添加元素,当然能加也能减
  41.                 multiset.setCount("java265.com-3", 5);
  42.                 // 将元素的计数设为0,就相当于移除所有的"c"元素
  43.                 multiset.setCount("java265.com-3", 0);
  44.                 // 移除一个元素
  45.                 multiset.remove("java265.com-3");
  46.                 // 移除两个"c"元素
  47.                 multiset.remove("java265.com-3", 2);
  48.         }
  49. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

吴旭华

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表