5

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

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

我目前被分配到一个正在进行的 Java 项目,我感到相当窒息。我根本不认为“创建一个数组,将东西从一个到另一个”。我可以(并且确实)使用实现接口的匿名类型创建自己的主要 map/reduce 函数版本,但为什么要重新发明轮子呢?我目前正在进行的项目已经有 commons-collections-3.1.jar 并且查看包含的类似乎可以做我想要的一切以及更多。

对于我的生活,我找不到如何实际使用它。浏览其中的几十个类并不是很有帮助,我唯一能用谷歌搜索的是同样有用的 api 文档。

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

4

3 回答 3

4

(注释作为格式化目的的答案。)

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

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

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

于 2011-12-28T14:20:11.860 回答
1

试试这些链接:

http://commons.apache.org/collections/userguide.html(基本教程) http://larvalabs.com/collections/tutorial.html(通用高级教程)

于 2011-12-28T14:19:25.407 回答
1

@george-mauer,你可能不得不依赖像这样的文章或像Jakarta Commons Cookbook这样的书。我还发现通过创建自己的示例来学习非常有用。

于 2011-12-28T14:26:38.257 回答