关于ZAKER 融媒体解决方案 合作 加入

java – Google Guava vs. Apache Commons

CocoaChina 09-19

我正在寻找Java中的bidirectional map实现 , 并偶然发现了这两个库:

> Google Guava ( 原 "Google Collections" )

> Apache Commons Collections

两者都是免费的 , 具有我正在寻找的双向地图实现 ( Apache 中的 BidiMap,Google 中的 BiMap ) , 几乎相同的大小 ( Apache 493 kB,Google 499 kB ) [ 编辑:不再是真的! ] 并且似乎在各方面都和我很相似 .

我应该选择哪一个 , 为什么?是否有其他等效替代方案 ( 必须是免费的并至少具有双向映射 ) ?我正在使用最新的 Java SE, 所以不需要人为地限制 Java 5 或类似的东西 .

最佳答案

在我看来 , 更好的选择是Guava ( 以前称为谷歌收藏 ) :

> 它更现代 ( 有泛型 )

> 它完全遵循 Collections API 要求

> 它积极维护

> CacheBuilder, 它的前身MapMaker简直太棒了

Apache Commons Collections 也是一个很好的库 , 但它长期以来未能提供支持泛型的版本 ( 在我看来这是收集 API 的主要缺点 ) 并且通常似乎是在维护 / 不做 -too-much-work-on-it 模式最近 Commons Collections 再次获得了一些动力 , 但它有一些赶上来做 ..

如果下载大小 / 内存占用 / 代码大小是一个问题 , 那么 Apache Commons Collections 可能是更好的候选者 , 因为它是其他库的常见依赖 . 因此 , 在您自己的代码中使用它也可以在不添加任何其他依赖项的情况下完成 . 编辑:这个特殊的 " 优势 " 现在已被部分颠覆 , 因为许多新库实际上依赖于 Guava 而不是 Apache Commons Collections.

以上内容由"CocoaChina"上传发布 查看原文
相关标签 googlejava谷歌

觉得文章不错,微信扫描分享好友

扫码分享