Google guava之Multiset简介说明

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

	}

}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Google guava之Multiset简介说明