如何学习使用Java commons集合?

如何学习使用Java commons集合?,java,mapreduce,apache-commons-collection,Java,Mapreduce,Apache Commons Collection,奇怪的标题,我知道,让我解释一下 我是最熟悉C#和Javascript的开发人员。我完全沉迷于这些半功能世界,以至于我的大部分代码都是关于映射/减少/过滤集合的。在C#中,这意味着我几乎在任何地方都使用LINQ,在Javascript中,它是下划线.js和jQuery 我目前被分配到一个正在进行的Java项目中,感觉很压抑。我根本不认为“创建一个数组,把东西从一个数组拖到另一个数组”。我可以(而且确实)使用实现接口的匿名类型创建自己版本的主map/reduce函数,但为什么要重新发明轮子呢?我目

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

我是最熟悉C#和Javascript的开发人员。我完全沉迷于这些半功能世界,以至于我的大部分代码都是关于映射/减少/过滤集合的。在C#中,这意味着我几乎在任何地方都使用LINQ,在Javascript中,它是下划线.js和jQuery

我目前被分配到一个正在进行的Java项目中,感觉很压抑。我根本不认为“创建一个数组,把东西从一个数组拖到另一个数组”。我可以(而且确实)使用实现接口的匿名类型创建自己版本的主map/reduce函数,但为什么要重新发明轮子呢?我目前参与的项目已经有commons-collections-3.1.jar,通过查看包含的类,它似乎可以完成我想要的一切,甚至更多

就我而言,我找不到如何实际使用它。浏览其中的几十个类并不是很有帮助,而且我能在谷歌上搜索到的唯一一样有用的东西

如何使用它来映射/选择、筛选/位置、减少/聚合?是否有任何地方提供了有关此库的实际教程?

请尝试以下链接:

(基础教程) (通用高级教程)

(注释作为格式设置的答案。)

没有那么多,除了有限的

也就是说,我不确定您具体在哪里遇到了问题——过滤和选择主要集中在中,并由类使用


虽然您不想寻找替代品,但您可能会发现类似于或更类似于您所习惯的东西(在Java的限制范围内),而且它们的详细程度要低一些。

@george mauer,您可能需要依赖类似于文章或书籍的文章。我还发现,通过创建自己的样本来学习是非常有用的。

Book-雅加达Commons Cookbook请注意Commons Collections是一本非常传统的书籍,不支持泛型。呃,真的吗?那我就不用了。什么是提供集合处理能力并支持泛型的软件包?Google Collections(Guava的一部分)是Commons Collections的事实上的继承者。这些链接只包含标准集合内容,而不包含Commons-Collections中的闭包/过滤器/转换器内容。啊CollectionUtils是我要找的。这应该足以让我开始,但上帝啊,这些家伙需要让他们的文档进入一个实际有用的状态。即使是指向我想要的direct类的链接也不包含用法示例,我只是幸运地认识到一些方法签名与我自己实现的方法签名相似。@GeorgeMauer我认为这是其中的一种,因为它已经存在了很长时间,假设每个人都是通过渗透学习的;)我感觉整个Java都是这样的:)@GeorgeMauer有时可能是这样的——可以说,如果没有“管理机构”,信息有时可能会有点分散。它也很古老,这就是为什么我指的是番石榴/Lambda4J;这只是多年来积累的材料,没有相应的文件。也许我会写点东西。@GeorgeMauer指出,Guava支持泛型,看起来更像现代Java,而不是老式的集合库——应该不难销售。并排展示几个。否则。。。嗯,这个链接只是谈论匿名接口实现者,我肯定不会为了一个几个月的项目去读一本书。多美的皮塔