Tag: 番石榴

Apache Commons与Guava(前身为“Google Collections”)

我正在寻找在Java中的双向映射实现,偶然发现这两个库: Apache Commons集合 番石榴 (以前称为“Googlecollections”) 两者都是免费的,有我正在寻找的双向地图实现(Apache中的BidiMap,Google中的BiMap),几乎相同的尺寸(Apache 493 kB,Google 499 kB)[编辑:不再是真的!在所有方面都与我很相似。 我应该select哪一个,为什么? 还有其他一些等同的select(必须是免费的,至less有双向映射)? 我正在使用最新的Java SE,所以不需要人为限制Java 5或类似的东西。

在Java中谓词

我正在通过在Java中使用Predicate的代码。 我从来没有使用Predicate 。 有人可以指导我对Predicate任何教程或概念性解释及其在Java中的实现吗?

将多个集合合并为一个逻辑集合?

假设,我有一个固定数量的集合(例如3个ArrayLists)作为一个类的成员。 现在,我想将所有元素公开给其他类,以便它们可以遍历所有元素(理想情况下,只读)。 我正在使用番石榴集合,我想知道如何使用番石榴iterables /迭代器生成内部集合的逻辑视图, 而不做临时副本。

什么是番石榴的选修课的重点

我最近读了这个,看到有人在用这个类,但是在几乎所有的情况下,使用null也会起作用 – 如果不是更直观的话。 有人可以提供一个具体的例子, Optional将实现一些null不能或以一个更清洁的方式吗? 我能想到的唯一的事情就是将它用于不接受null键的Maps ,但即使这样做也可以通过空值的“映射”来完成。 任何人都可以提供一个更有说服力的论点吗? 谢谢。

如何缩小代码 – 65k的方法限制在dex

我有一个相当大的Android应用程序依赖于许多库项目。 Android编译器每个.dex文件有65536个方法的限制,我超过了这个数字。 基本上有两条path可以select(至less我知道),当你达到方法限制时。 1)缩小你的代码 2)构build多个dex文件( 请参阅此博客文章 ) 我仔细观察了两者,试图找出导致我的方法数量如此之高的原因。 Google Drive API占用了12,000多个Guava依赖项的最大块。 Drive API v2的总库数达到23,000! 我想我的问题是,你认为我应该怎么做? 我应该删除Google云端硬盘集成作为我的应用程序的function? 有没有办法缩小API(是的,我使用proguard)? 我应该去多个dex路线(看起来相当痛苦,尤其是与第三方API打交道)?