雄霸下载站:纯净绿色软件游戏下载网站

电脑软件| 软件合集| 最近更新| 网站地图

当前首页:首页 > 电脑软件 > 编程开发 > commons-collections.jar

commons-collections.jar

commons-collections.jar

类型:编程开发版本:更新:2024-01-12 08:19:24大小:479KB系统:Win2003, WinXP, Win7, Win8, Win10, WinAll语言:简体

commons-collections.jar包是java开发中必不可少的jar包。没有这个commons-collections.jar包,java开发会很困难。下载commons-collections.jar并使用。

文件预览

包的功能

它为Java标准的集合API提供了很好的补充。在此基础上,对常见的数据结构操作进行了很好的封装、抽象和补充。有保证的性能和大大简化的代码。

包装分类

将该包的类别总结为9个类别:

bag-org . Apache .commons中定义的接口。collections包,它扩展了java.util.Collection,其实现类放在下面的bag包中。HashBag是Bag接口的标准实现。BagUtils为调用者提供了一组静态方法来获取不同的装饰包实例。有关具体用法,请参见代码示例。

buffer——org . Apache .commons下定义的接口。collections包,用于表示集合,如按一定顺序移除成员对象的队列。具体的实现类可以在org.apache.commons下找到。collections。缓冲包。最简单、最直接的缓冲区实现类是UnboundedFifoBuffer,它提供了一个大小可变的FIFO队列。另一方面,BoundedFifoBuffer限制其大小,并且是固定大小的先进先出队列。BlockingBuffer只能在多线程环境中显示其价值,尤其是当我们需要实现管道的时候。管道中的每个组件从上游BlockingBuffer获取数据,然后依次处理并发送给下一个BlockingBuffer。BlockingBuffer 特色的核心通俗地说,如果你向它索取某样东西,而它还不存在,那你就等着得到它吧。PriorityBuffer提供了比一般FIFO缓冲区更强的控制:我们可以为它定制比较器,告诉它如何确定其成员的顺序,优先级最高的先走。还有执行类型检查TypedBuffer,或者不可变的不可修改的Buffer,等等。

Map——在java.util.Map BidiMap基础上扩展的一个接口和类,直译就是双向映射。可以通过key找到值,也可以通过value找到key,在我们日常的代号匹配中非常方便,因为我们经常需要处理用户输入的名称,然后得到它的代码。需要注意的是,在BidiMap中,不仅键不能重复,值也不能重复。MultiMap,也就是说,一个键不是简单地指向一个对象,而是指向一组对象。add()和remove()与普通地图相同,但在get()时返回一个集合。有了MultiMap,我们可以很容易地在一个键上放置无限数量的对象,实现一对多。LazyMap,这意味着这个映射中的键/值对一开始并不存在,而是在调用时创建的。

集合-也使用集合之间的类型转换。TypedCollection是典型的,它的实际功能是提供一个修饰方法。我们传入一个集合和所需的类型判别信息java.lang.Class,这为我们创建了一个全新的强类型集合。(暂时没有样例代码,后面会补充)

Comparator——提供一些comparator实现类(都在org.apache.commons下)。collections。Comparators包)Boolean comparator——用于对一组布尔对象进行排序,指示为真还是假;第一;comparable comparator–用于对实现了java.lang.Comparable接口的对象进行排序(我们常用的java类如String、Integer、Date、Double、File、Character等。都实现了可比较的接口);比较器链——定义一组比较器链,链中的比较器对象会依次执行;FixedOrderComparator–用于定义一个特殊的顺序,以这样一个定制的顺序对一组对象进行排序;Null comparator–允许null值参与比较,可以先设置为null,也可以后设置为null;

反向比较器–反向原始比较器效果;变换比较器–将比较器装饰成具有变压器效果的比较器。

谓词——它以一个对象作为参数,经过处理后返回一个布尔值,以测试一个对象是否满足某个条件。Commons Collections还提供了一组定义好的谓词类供我们使用,它们放在org。阿帕奇。commons。collections。功能包。当然,我们也可以自定义predict,只要实现这个predict接口。

transformer——我们有时需要将一个对象转换成另一个对象,供另一组方法调用,而这两个对象的类型可能不来自同一个继承系统,或者它们除了非常基本的对象之外没有共同的父类,或者我们根本不关心它们是否有其他继承关系,甚至同一个类的实例对我们来说也无关紧要,因此我们可以由后续的调用方进行有意义的识别和处理。在这种情况下,我们将除了基本的转换转换器之外,Commons Collections还提供了一个转换器链和一个条件转换器,这便于我们组装有意义的转换逻辑。

closure——这组接口和类提供了一个操纵对象的execute方法,这样我们在处理一系列对象的时候就可以把处理逻辑分开。ChainedClosure可以包装一组闭包,整体执行;IfClosure在创建时需要提供一个谓词和两个闭包,谓词判断后再决定执行哪个闭包;SwitchClosure类似于SwitchTransformer,创建时根据传入的谓词组和闭包组执行;WhileClosure根据创建时传入的预测进行判断,如果为真,则执行闭包,直到预测返回false;等一下。

Iterator - java.util.Iterator接口定义了标准的集合遍历方法,但是如果我们不加修改地使用它,我们得到的是从头到尾的一次性遍历。如果我们需要循环遍历,如果我们需要遍历某个段落,如果我们需要遍历满足一定条件的元素等等,我们不能完全依赖这个迭代器的标准实现。除非我们更愿意在此基础上给调用的代码增加更多的判断,否则时间长了代码就会混乱,难以维护。这组Commons集合的迭代器给我们带来了便利。

  • 标签: JAVA相关
  • commons-collections.jar相关下载