ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Google guava之Multiset简介说明

2022-06-21 12:31:44  阅读:150  来源: 互联网

标签:Google 元素 add java265 multiset Multiset guava com


转自:

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);

	}

}

标签:Google,元素,add,java265,multiset,Multiset,guava,com
来源: https://www.cnblogs.com/java265/p/16391319.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有