奇怪的标题,我知道,让我解释一下。
我是最熟悉 C# 和 Javascript 的开发人员。我完全沉浸在那些半功能性的世界中,以至于我的大部分代码都是关于映射/减少/过滤集合的。在 C# 中,这意味着我几乎在任何地方都使用 LINQ,在 Javascript 中则是 Underscore.js 和 jQuery。
我目前被分配到一个正在进行的 Java 项目,我感到相当窒息。我根本不认为“创建一个数组,将东西从一个到另一个”。我可以(并且确实)使用实现接口的匿名类型创建自己的主要 map/reduce 函数版本,但为什么要重新发明轮子呢?我目前正在进行的项目已经有 commons-collections-3.1.jar 并且查看包含的类似乎可以做我想要的一切以及更多。
对于我的生活,我找不到如何实际使用它。浏览其中的几十个类并不是很有帮助,我唯一能用谷歌搜索的是同样有用的 api 文档。
您如何使用它来映射/选择、过滤/位置、减少/聚合?是否有任何地方提供有关该库的实际教程?