commons-collections.jar
commons-collections.jar
大小:479KB
语言:简体
分类:JAVA相关
平台:Win2003,WinXP,Win7,Win8,Win10,
下载
软件简介

commons-collections.jar包是一款java开发中必备的一款jar包,如果缺少了这款了commons-collections.jar包,java开发将变得寸步难行,下载commons-collections.jar使用吧。

commons-collections.jar

文件预览

commons-collections.jar

包的功能

  为Java标准的CollectionsAPI提供了相当好的补充。在此基础上对其常用的数据结构操作进行了很好的封装、抽象和补充。保证性能的同时大大简化代码。

包的分类

  将此包的类归纳为9类:

  Bag--在org.apache.commons.collections包中定义的接口,它extendsjava.util.Collection,而它的实现类都被放在下面的bag包中。HashBag是Bag接口的一个标准实现。而BagUtils提供一组static的方法让调用者获取经过不同装饰后的Bag实例.具体用法见代码样例

  Buffer--定义在org.apache.commons.collections包下面的接口,用于表示按一定顺序除去成员对象的collection如队列等。具体的实现类在org.apache.commons.collections.buffer包下可以找到。最简单直接的Buffer实现类是UnboundedFifoBuffer,提供先进先出的大小可变的队列。而BoundedFifoBuffer则是对其大小进行了限制,是固定大小的先进先出队列。BlockingBuffer要在多线程的环境中才能体现出它的价值,尤其是当我们需要实现某种流水线时这个BlockingBuffer很有用:每个流水线上的组件从上游的BlockingBuffer获取数据,处理后放到下一个BlockingBuffer中依次传递。BlockingBuffer的核心特色通俗点说就是如果你向它要东西,而它暂时还没有的话,你可以一直等待直至拿到为止。PriorityBuffer则提供比一般的先进先出Buffer更强的控制力:我们可以自定义Comparator给它,告诉它怎么判定它的成员的先后顺序,优先级最高的最先走。此外还有执行类型检查的TypedBuffer、或者不可改变的UnmodifiableBuffer等等

  Map--在java.util.Map的基础上扩展的接口和类。BidiMap,直译就是双向Map,可以通过key找到value,也可以通过value找到key,这在我们日常的代码-名称匹配的时候很方便:因为我们除了需要通过代码找到名称之外,往往也需要处理用户输入的名称,然后获取其代码。需要注意的是BidiMap当中不光key不能重复,value也不可以。MultiMap,就是说一个key不在是简单的指向一个对象,而是一组对象,add()和remove()的时候跟普通的Map无异,只是在get()时返回一个Collection,利用MultiMap,我们就可以很方便的往一个key上放数量不定的对象,也就实现了一对多。LazyMap,意思就是这个Map中的键/值对一开始并不存在,当被调用到时才创建。

  Collection--用也各collection之间的类型转换。典型的是TypedCollection,它实际上的作用就是提供一个decorate方法,我们传进去一个Collection和需要的类型甄别信息java.lang.Class,它给我们创建一个全新的强类型的Collection。(暂无样例代码,以后补充)

  Comparator--提供了一些Comparator的实现类(都在org.apache.commons.collections.comparators包下面)BooleanComparator–用于排序一组Boolean对象,指明先true还是先false;ComparableComparator–用于排序实现了java.lang.Comparable接口的对象(我们常用的Java类如String、Integer、Date、Double、File、Character等等都实现了Comparable接口);ComparatorChain–定义一组Comparator链,链中的Comparator对象会被依次执行;FixedOrderComparator–用于定义一个特殊的顺序,对一组对象按照这样的自定义顺序进行排序;NullComparator–让null值也可参与比较,可以设定为先null或者后null;

  ReverseComparator–将原有的Comparator效果反转;TransformingComparator–将一个Comparator装饰为具有Transformer效果的Comparator。

  Predicate--它以一个Object对象为参数,处理后返回一个boolean值,检验某个对象是否满足某个条件。CommonsCollections也提供了一组定义好的Predicate类供我们使用,这些类都放在org.apache.commons.collections.functors包中。当然,我们也可以自定义Predicate,只要实现这个Predicate接口即可。

  Transformer--我们有时候需要将某个对象转换成另一个对象供另一组方法调用,而这两类对象的类型有可能并不是出于同一个继承体系的,或者说出了很基本的Object之外没有共同的父类,或者我们根本不关心他们是不是有其他继承关系,甚至就是同一个类的实例只是对我们而言无所谓,我们为了它能够被后续的调用者有意义的识别和处理,在这样的情形,我们就可以利用Transformer。除了基本的转型Transformer之外,CommonsCollections还提供了Transformer链和带条件的Transformer,使得我们很方便的组装出有意义的转型逻辑。

  Closure--这一组接口和类提供一个操作对象的execute方法,为我们在处理一系列对象时可以将处理逻辑分离出来。ChainedClosure可以包装一组Closure作为整体执行;IfClosure在创建时需要提供给它一个Predicate和两个Closure,执行时先做Predicate判定再决定执行哪一个Closure;SwitchClosure跟SwitchTransformer类似,根据创建时传入的Predicate组和Closure组对应执行;WhileClosure则根据创建时传入的Predicate做判断,如果为true则执行Closure,直到Predicate返回false;等等。

  Iterator--java.util.Iterator接口定义了标准的Collection遍历方法,但是如果不做改变的使用它,我们得到的是从头到尾一次性的遍历。假如我们需要循环遍历,假如我们需要遍历某一段,假如我们需要遍历满足某些条件的元素,等等等等,我们就不能完全依赖于这个Iterator的标准实现了。除非我们宁可在此基础上在调用的代码中多加一些判断,不过这样的话代码就会显得混乱,时间长了就容易变得难以维护。CommonsCollections的这一组Iterator为我们带来了便利。

相关软件
IntelliJIDEA2021(Java编程软件)v2021.1官方版
IntelliJIDEA2021(Java编程软件)v2021.1官方版
下载
SelectMenu(菜单解决方案)v2.1官方版
SelectMenu(菜单解决方案)v2.1官方版
下载
JavaEnvSwitcher(多版本JDK快速切换工具)v0.1.1.0免费版
JavaEnvSwitcher(多版本JDK快速切换工具)v0.1.1.0免费版
下载
HGBase(Java开发框架)v0.70免费版
HGBase(Java开发框架)v0.70免费版
下载
Java环境配置工具v0.4官方版
Java环境配置工具v0.4官方版
下载
环境变量配置工具v1.0免费版
环境变量配置工具v1.0免费版
下载
java环境变量一键配置工具v1.0绿色免费版
java环境变量一键配置工具v1.0绿色免费版
下载
BytecodeViewer(Android逆向工具)v2.9.2.2官方版
BytecodeViewer(Android逆向工具)v2.9.2.2官方版
下载
java环境配置软件v1.0免费版
java环境配置软件v1.0免费版
下载
JAVAclass汉化工具(hhclass)v1.0
JAVAclass汉化工具(hhclass)v1.0
下载
Arthas(JAVA问题诊断工具)v3.1.1
Arthas(JAVA问题诊断工具)v3.1.1
下载
怪物排队消除ios版
怪物排队消除ios版
下载
天使婚礼沙龙ios版
天使婚礼沙龙ios版
下载
辐射4更真实的作物收获MOD
辐射4更真实的作物收获MOD
下载
小小可爱男孩ios版
小小可爱男孩ios版
下载
KX3552驱动一键安装专业版v2.0.1免费版
KX3552驱动一键安装专业版v2.0.1免费版
下载
推荐软件
奇热小说
奇热小说
下载
QQ2019手机版
QQ2019手机版
下载
王者荣耀
王者荣耀
下载
百度浏览器迷你版
百度浏览器迷你版
下载
2345浏览器手机版
2345浏览器手机版
下载
网易邮箱
网易邮箱
下载
爱奇艺
爱奇艺
下载
网易云音乐
网易云音乐
下载
WPSOffice
WPSOffice
下载
优酷
优酷
下载
谷歌浏览器(Chrome)
谷歌浏览器(Chrome)
下载
迅雷看看播放器
迅雷看看播放器
下载
UC浏览器
UC浏览器
下载
QQ音乐
QQ音乐
下载
阿里旺旺买家版v9.12.10C官方版
阿里旺旺买家版v9.12.10C官方版
下载
360安全卫士v12.1官方版
360安全卫士v12.1官方版
下载
图文教程
猜你喜欢
订单汇app
订单汇app
下载
资运出行app
资运出行app
下载
手机远程协助控制
手机远程协助控制
下载
期货高手
期货高手
下载
赤炎荣耀传奇
赤炎荣耀传奇
下载
城市公交车司机
城市公交车司机
下载
嘉定社区民警
嘉定社区民警
下载
太空探索2宇宙模拟
太空探索2宇宙模拟
下载
热门标签