• Google guava之Multiset简介说明


    转自:

     Google guava之Multiset简介说明

    下文笔者讲述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);
    
    	}
    
    }
  • 相关阅读:
    minio文件上传
    代码随想录刷题 Day 22
    多因素方差分析(Multi-way Analysis of Variance) R实现
    华为HCIP Datacom H12-831 卷24
    SpringBoot_启动原理分析
    vue中,js改变字符串中指定字符的颜色 & 在字符串中添加点击事件
    人工智能对我们的生活影响
    如何使用uview中的loadmore上拉加载
    English语法_5大句型
    Android7.1 ROOT权限的获取
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/125616228