commons-collections使用介绍之Bag HashBag

avalon-logkit-2.1.jar,commons-collections-3.2.jar,velocity-1.4.jar,velocity-tools-view-1.2.jar • commons-collections-3.2.jar • velocity-1.4.jar • velocity-tools-view-1.2.jar • avalon-logkit-2.1.jar 立即下载

在commons-collections中为我们提供了一些关于集合的实现,今天为大家介绍一下Bag相关类的用法。

概述

Bag继承自Collection接口,定义了一个集合,该集合会记录对象在集合中出现的次数。 
假设你有一个包,包含{a, a, b, c}。调用getCount(a)方法将返回2,调用uniqueset()方法将返回{a, b, c}。

API

方法摘要

返回值 方法名 说明
boolean add(Object object) (违反)将指定的对象添加到该包中
boolean add(Object object, int nCopies) 将指定数量的对象添加到该包中
boolean containsAll(Collection coll) 判断包中是否含有集合中所有元素
int getCount(Object object) 获得对象在包中的数量
Iterator iterator() 获得包元素迭代器
boolean remove(Object object) 移除包中元素
boolean remove(Object object, int nCopies) 移除指定数量的包中的元素
boolean removeAll(Collection coll) 移除包中包含的集合中的所有元素
boolean retainAll(Collection coll) 删除包中不在集合中的元素
int size() 获得包中元素个数
Set uniqueSet() 获得包中唯一元素集合(去重)

HashBag

HashBag使用HashMap作为数据存储,是一个标准的Bag实现。

使用示例:

package com.gujin.collections.bag;

import java.util.Iterator;

import org.apache.commons.collections.bag.HashBag;
import org.junit.Test;

public class HashBagBagTest
{
   @Test
   public void test()
   {
      HashBag hashBag = new HashBag();
      String s1 = "s1";
      String s2 = "s2";
      hashBag.add(s1);
      hashBag.add(s1);
      hashBag.add(s2, 3);
      // 获得包中元素迭代器
      Iterator<?> iterator = hashBag.iterator();
      System.out.println("包中元素为:");
      while (iterator.hasNext())
      {
         System.out.println(iterator.next());
      }
      System.out.println("包中元素个数为:" + hashBag.size());
      System.out.println("包中entity1个数为:" + hashBag.getCount(s1));
      System.out.println("去重后个数为:" + hashBag.uniqueSet().size());
   }
}

运行结果: 
包中元素为: 
s1 
s1 
s2 
s2 
s2 
包中元素个数为:5 
包中entity1个数为:2 
去重后个数为:2

TreeBag

TreeBag使用TreeMap作为数据存储,用法与HashBag类似,只是TreeBag会使用自然顺序对元素进行排序。

使用示例:

package com.gujin.collections.bag;

import java.util.Iterator;

import org.apache.commons.collections.bag.TreeBag;
import org.junit.Test;

public class TreeBagBagTest
{
   @Test
   public void test()
   {
      TreeBag hashBag = new TreeBag();
      String s1 = "s1";
      String s2 = "s2";
      String s3 = "s3";
      hashBag.add(s3);
      hashBag.add(s1);
      hashBag.add(s2);
      // 获得包中元素迭代器
      Iterator<?> iterator = hashBag.iterator();
      System.out.println("包中元素为:");
      while (iterator.hasNext())
      {
         System.out.println(iterator.next());
      }
      System.out.println("包中元素个数为:" + hashBag.size());
      System.out.println("包中entity1个数为:" + hashBag.getCount(s1));
      System.out.println("去重后个数为:" + hashBag.uniqueSet().size());
   }
}

运行结果:

包中元素为: 
s1 
s2 
s3 
包中元素个数为:3 
包中entity1个数为:1 
去重后个数为:3

关于Bag的更多内容,可以去官网查看相关的帮助文档。

如何免费访问和使用Gemini API? Gemini Ultra具有最先进的性能,在几个指标上超过了GPT-4的性能。它是第一个在大规模多任务语言理解基准测试中超越人类专家的模型,该基准测试57个不同学科的世界知识和解决问题的能力。Gemini是谷歌迄今为止开发的最先进、最庞大的AI模型。它为多模态而建,理解并处理不同类型的数据,比如文本、代码、音频、图像和视频。下面我们将加载Masood Aslami的图像,并用它来测试Gemini Pro Vision的多模态性。有了Gemini可以为查询提供图像、音频和文本,获得几乎完美的答案。 阅读详情

相关推荐

Keil MDK-ARM v5.43a 部署 STM32F103 开发环境全流程

嵌入式开发环境是 Cortex-M 微控制器工程落地的基础支撑,其核心在于编译器链、设备支持包(DFP)与调试驱动的协同一致性。Keil MDK-ARM 作为工业级 ARM Cortex-M 开发套件,依托 Arm Compiler 和 CMSIS 标准,提供从代码编译、外设抽象到实时调试的全栈能力。其技术价值体现在对 STM32 等主流 MCU 的深度适配、高可靠性 SWD 调试支持,以及与 HAL 库、CubeMX 工程的无缝集成。典型应用场景涵盖温湿度传感终端、工业 PLC 子模块及低功耗边缘节点开发

weixin_33750664的博客 897

commons-collections使用介绍之Bag

在commons-collections中为我们提供了一些关于集合的实现,今天为大家介绍一下Bag相关类的用法。 概述 Bag继承自Collection接口,定义了一个集合,该集合会记录对象在集合中出现的次数。 假设你有一个包,包含{a, a, b, c}。调用getCount(a)方法将返回2,调用uniqueset()方法...

weixin_34248023的博客 337

AI编码的“黑箱危机”终结者:OpenSpec如何让你的代码从“猜谜”变“契约”?

OpenSpec的真正价值,在于它将AI编码从"经验驱动"推向"契约驱动"——当人类与AI对"目标是什么"达成显式共识,编码就从"猜谜游戏"变成了"工程实现"。这种转变不仅提升效率,更重塑了开发者与AI的关系:AI从"替代者"回归"协作者",而人类则聚焦于"定义正确的事"而非"正确地做事"。对于开发者,OpenSpec提供了驾驭AI的缰绳;对于团队,它构建了协作的基石;对于行业,它预示着AI编码工业化的开端。

haolove527的专栏 1350

HashBag

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34205076的博客 876

手把手教你排查I2C通信故障:当上拉电阻配置不当会发生什么?

本文深入解析I2C通信中上拉电阻配置不当导致的常见故障,包括波形畸变和通信失败现象。通过示波器波形分析和系统化解决方案,帮助工程师快速诊断和优化I2C总线性能,特别适用于嵌入式系统和智能设备开发场景。

weixin_33725722的博客 341

手把手教你用SAM模型实现精准图像分割:从环境配置到实战应用

本文详细介绍了如何使用Meta推出的Segment Anything Model(SAM)实现精准图像分割,从环境配置到实战应用的全流程。特别针对电商场景中的商品分割需求,提供了硬件配置、模型下载、API使用及优化策略等实用指南,帮助开发者快速掌握这一强大的深度学习工具。

pepsi的博客 1067

Java中的集合

Java中的集合

qq_33271461的博客 527

Keil开发中CMSIS Driver API缺失问题的排查与解决

本文详细解析Keil开发中CMSIS Driver API缺失问题的根源与解决方案。针对版本不匹配、安装不完整等常见原因,提供在线与离线安装的对比及详细排查步骤,重点涵盖版本兼容性分析与项目配置验证,帮助开发者彻底解决API缺失错误并预防问题复发。

rust6ferris的博客 551

commons-collections Bag Buffer

Bag HashBag BagUtils   Bag是在org.apache.commons.collections包中定义的接口,它extends java.util.Collection,而它的实现类都被放在下面的bag包中。之所以有这样一组类型,是因为我们有时候需要在Collection中存放多个相同对象的拷贝,并且需要很方便的取得该对象拷贝的个数。需要注意的一点是它虽然ext...

tengzhinei1的专栏 138

从底层结构开始学习FPGA(7)----进位链CARRY4

进位链CARRY4在FPGA实现加减法运算时扮演了什么角色?

孤独的单刀 1万+

云端办公文件存储与访问全攻略:选型、预算、实操一本通

随着远程办公、多设备协作成为常态,“文件云端存储、随时调用” 已成为提升办公效率的核心需求。本文从用户实际场景出发,系统拆解云端存储的选型逻辑、全场景费用预算,重点解答 “文件能否直接在线打开” 的核心疑问,并提供实操技巧与安全保障方案,覆盖个人、小团队(含兼职)、企业全维度需求,帮助不同规模用户快速搭建高效、低成本的云端办公体系。

hy行者勇哥的博客 1242

Java高手的30k之路|面试宝典|熟悉常用开源集合库Guava和ApacheCommonsCollections

Guava常用集合类 | Immutable Collections|Multiset | Multimap | BiMap | Table | ClassToInstanceMap | RangeSet RangeMap | Iterables 和 Iterators | Collections2 | FluentIterable| Bag统计元素出现次数|Trie 用于需要高效前缀搜索 | Patricia trie算法

weixin_41379244的博客 1344

【FPGA教程案例100】深度学习1——基于CNN卷积神经网络的手写数字识别纯Verilog实现,使用mnist手写数字数据库

MNIST 数据库有一个 60,000 示例的训练集,还有一个 10,000 示例的测试集。这些数字已在大小方面规范化,在固定大小的图像中居中。如下图所示:我们任意选择0~9是个数字,将其转化为数字:0_0.txt1_0.txt2_0.txt3_0.txt4_0.txt5_0.txt6_0.txt7_0.txt8_0.txt9_0.txt。

FPGA/MATLAB学习教程/源码/项目合作开发 7835

Apache Commons Collections Bag 教程

本文带你了解 Apache Commons Collections Bag,它允许多次存储相同元素。 Bag 与 Collection的差异 首先,我们加入maven依赖,然后通过示例进行说明: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4..

neweastsun的专栏 637

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

org.apache.commons.collections学习笔记【一】之Bag

先摘抄一段Bag的说明 Bag是在org.apache.commons.collections包中定义的接口,它extends java.util.Collection,而它的实现类都被放在下面的bag包中。之所以有这样一组类型,是因为我们有时候需要在Collection中存放多个相同对象的拷贝,并且需要很方便的取得该对象拷贝的个数。需要注意的一点是它虽然extends Collection,但

一个程序猿的学习笔记 1247

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

第五十七篇:commons-collections使用介绍之Bag

在commons-collections中为我们提供了一些关于集合的实现,今天为大家介绍一下Bag相关类的用法。 概述 Bag继承自Collection接口,定义了一个集合,该集合会记录对象在集合中出现的次数。  假设你有一个包,包含{a, a, b, c}。调用getCount(a)方法将返回2,调用uniqueset()方法将返回{a, b, c}。 API 方法摘要

u012426327的专栏 1001

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

[Jakarta Commons笔记] Commons Collections - Bag组

先来看Bag组。   Bag HashBag BagUtils   Bag是在org.apache.commons.collections包中定义的接口,它extends java.util.Collection,而它的实现类都被放在下面的bag包中。之所以有这样一组类型,是因为我们有时候需要在Collection中存放多个相同对象的拷贝,并且需要很方便的取得该对象拷贝的个数。需要注意的一点是它虽...

liliugen的专栏 193

Commons Collections - Bag组

先来看Bag组。   Bag HashBag BagUtils   Bag是在org.apache.commons.collections包中定义的接口,它extends java.util.Collection,而它的实现类都被放在下面的bag包中。之所以有这样一组类型,是因为我们有时候需要在Collection中存放多个相同对象的拷贝,并且需要很方便的取得该对象拷贝的个数。需要...

老男人 132

Apache Commons Collections组件介绍使用

Commons Collections组件介绍使用介绍其实Java JDK已经提供了丰富的集合操作,但是在某些场合下,可能无法满足,apache commons组件提供了更加丰富的集数据结构。其实collections下实现的数据结构都是基于JDK已有数据结构的扩展和补充,掌握好JDK的基础集合框架才是重点。 如果在新项目中药使用集合扩展组件,我推荐使用google guava或不适用扩展组件,我觉

小白成长记录 7521

Bag集合工具类(apache-commons-collections3.2工具包)在java中的使用

 Bag 是在 org.apache.commons.collections 包中定义的接口 ,也是集合的一种扩充工具类,当然结合用JDK中的map类进行相应的逻辑处理,也能实现Bag类的功能,但apache推出来肯定有它的原因和用处,知道有这么一个类了解它大概的用法,开发的时候真遇到这种情况,知道有这么个工具在你身边等着你用呢。 此接口定义源码: public interface B...

iteye_6274的博客 539

Java CookBook--Using a Bag--by Tim O'Brien 整理by博主

org.apache.commons.Collections.Bag的使用实例

zzooeefly的博客 466

apache commons-collections BagUtils

[code="java"]import java.util.Iterator; import org.apache.commons.collections.Bag; import org.apache.commons.collections.BagUtils; import org.apache.commons.collections.bag.HashBag; public class...

blind 191

D5 : Bag:有序和无序,统计次数

commons包里面的Bag类,可以实现数组的有序和无序封装,并对内容做统计判断。代码依赖Jar包:commons-collections4-4.0-alpha1.jar import java.util.Iterator; import java.util.Set; import org.apache.commons.collections4.Bag; import org.apache.c...

woshimyc的专栏 279

统计一个List中某元素出现的个数

介绍的是apache-commons-collections中的一个功能,如标题所示。代码如下: import java.util.ArrayList; import java.util.List;import org.apache.commons.collections.Bag; import org.apache.commons.collections.bag.HashBag; impo

酸衡子的博客 8286
上一篇: 使用jquery获取url及url参数的方法
下一篇: 随机分配效果在task中的应用,公司内部代码片
ole_triangle_java
博客等级 码龄10年 82粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值