我如何学习使用Java commons-collections?

Geo*_*uer 5 java mapreduce apache-commons-collection

我知道,奇怪的标题让我解释一下.

我是最熟悉C#和Javascript的开发人员.我完全沉浸在那些半功能的世界中,以至于我的大多数代码都是关于映射/缩减/过滤集合.在C#中,这意味着我几乎无处不在地使用LINQ,在Javascript中它是Underscore.js和jQuery.

我目前被分配到一个正在进行的Java项目,我感到相当窒息.我根本就没有想到"创建一个数组,从一个到另一个地方改变东西".我可以(并且确实)使用实现接口的匿名类型创建我自己的主map/reduce函数版本,但为什么要重新发明轮子?我目前正在进行的项目已经有了commons-collections-3.1.jar,并且查看了包含它的类似乎可能可以完成我想要的所有内容.

对于我的生活,我找不到如何实际使用它.浏览其中的几十个课程并不是很有帮助,我唯一可以谷歌的是api doc,它同样有用.

你如何使用它来映射/选择,过滤/在哪里,减少/聚合?有没有在这个库上提供实际教程的地方?

Dav*_*ton 4

(出于格式化目的,评论为答案。)

除了有限的用户指南之外,没有那么多。

也就是说,我不确定您具体在哪里遇到问题 - 过滤和选择主要包含在函子包中,并由CollectionUtils类使用。

虽然您不寻找替代品,但您可能会发现GuavaLambda4J之类的东西与您习惯的东西更相似(在 Java 的限制内),而且它们也不太冗长。

  • @GeorgeMauer 指出 Guava 支持泛型,并且看起来更像现代 Java,而不是陈旧的集合库 —— 不应该是强行推销。并排展示几个。否则……抛弃。 (3认同)