guava相关内容
Google的Guava库提供了一个很棒的类,称为解决方案 我不建议在此基本应用程序中使用范围. 最容易使用的方法是已经实现的Random类. 以下是使用该类的方法: 要获取任意值的随机整数: Random r = new Random(); r.nextInt(); 要获取最小x,最大y范围内的随机整数: Random r = new Random(); r.
..
guava库的当前版本(14.0.1)为2 MB.它既不大,也不小.尤其是当我想为我的学生在一个示例项目中使用它,而只需要它的“字符串"部分来解析某些输入时. 是否有Guava的较小部分可作为带有已编译代码的JAR-s使用,或者我必须全部使用它,或者编译并准备自己的捆绑包(例如解决方案 根据所以我要说不,Guava库中没有较小的部分可以使用.您只需要使用所需的类来构建自己的jar文件.
..
我用TreeMultiset尝试了以下代码.似乎"* Twin"条目被丢弃,重复次数存储在TreeMultiset中.我想这是一个功能,而不是一个错误.是否有一个存储每个对象而不是键和重复次数的对象? public class Guava { public static class Obj implements Comparable { String n
..
我正在尝试实现一些需要对 Quantity>映射的值进行排序的事情,例如: 10, Seattle -> 20, LA -> 10} 这些值不一定是不同的.我希望能够检索具有最大值和最小值的键/值对,类似于TreeMap可以对键进行的操作. 我找到了Google Guava的TreeMultimap,它是Multim
..
我需要初始化一个ImmutableMap(guava 21.0),并且需要将其解析为Map>对于本示例,我将只使用String. 所以我有 import com.google.common.collect.ImmutableMap; public class MyClass { private Map testMap = Imm
..
我想将文件中的每一行加载到HashSet集合中.有没有简单的方法可以做到这一点? 解决方案 怎么样: Sets.newHashSet(Files.readLines(file, charSet)); (使用番石榴). 参考:
..
我正在使用Google Guava r08和JDK 1.6.0_23. 我想使用构建器创建一个ImmutableSortedMap.我知道我可以这样创建构建器: ImmutableSortedMap.Builder b1 = new ImmutableSortedMap.Builder(Ordering.nat
..
一个人如何实现与Google Collections Collections2.filter方法一起使用的谓词? 解决方案 如果我对您的理解正确,那么我不确定在这里谓词是否是正确的解决方案: 创建这样的谓词将需要维护某种状态(即:维护已经看到的一组事物).在Javadoc中明确建议不要这样做. 获取集合中不同项目的通常方法是将它们全部添加到集合中.即: Set un
..
是否可以提供使用Spring创建Multimap的示例? 我很好奇如何在应用程序上下文XML文件中完成此操作. 解决方案 Google收藏夹不推荐使用番石榴,因此我将就番石榴作答. 我将使用此Bean类: public class Bean{ private Multimap map; pub
..
我们发现在Google Guava中使用AddListener补充RemovalListener非常有用. AddListener是否有合适的替代品,可以补充RemovalListener? 解决方案 您可以自己提供-只需将自定义侦听器传递给计算Function,并且每当计算一个值时,都将通知侦听器. 如果您使用的是asMap().put(..),则必须将整个内容包装在您的自定
..
要在Scala中使用番石榴Table和Multiset吗?在scala中已经有不同的概念,而不是为此目的导入番石榴库吗? 解决方案 您可以使用Map[(R, C), V]代替Table,使用Map[T, Int]代替Multiset.您还可以像这样将辅助方法添加到Map[T, Int]: implicit class Multiset[T](val m: Ma
..
我有一个.jar文件,其中有.class个文件和.java个文件.我想将特定的.class文件的内容作为byte[]数组加载. static byte[] getBytes(String javaFileName, String jar) throws IOException { try (JarFile jarFile = new JarFile(jar)) { Enumera
..
Guava包含用于拆分和连接字符串的实用程序,但是它需要实例化Splitter/Joiner对象.这些是小对象,通常只包含要在其上拆分/加入的字符.维护对这些对象的引用以重用它们是一个好主意,还是最好在需要时创建它们并让它们被垃圾回收? 例如,我可以通过以下两种方式实现此方法: String joinLines(List lines) { return Joiner
..
我有一个扁平的对象多图(一个列表),我想将其转换为一个列表,其中“键"属性/字段(例如下面的 name )在所有条目中都是唯一的. 如果多个条目具有相同的键(名称),则应选择具有最大 creationDate 字段的条目. 示例: List myList = [ {name="abc", age=23, creationDate = 1234L}, {na
..
我已经将Maven 3.0.4与Homebrew一起安装,并且每当我运行mvn命令时,我都会得到以下信息: Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf(Ljava/util/Collection;)Lcom/google/common
..
我写了一些代码来连接字符串: String inputFile = ""; for (String inputLine : list) { inputFile +=inputLine.trim()); } 但是我不能使用+进行连接,所以我决定使用番石榴.因此,我需要使用Joiner. inputFile =joiner.join(inputLine.trim(
..
我的Java代码中需要一个缓存的地图.映射是从数据库加载的,需要定期从数据库重新加载(对于映射中的所有数据).由于我们现在无法导入任何新软件包.谷歌的番石榴软件包或代码示例中是否有任何现有功能? 最好将映射实现为线程安全的.但是,如果不够简单的话,还是可以的. "LoadingCache"是我喜欢的一种,但是它没有数据初始化方法,我无法将数据从一开始就放入地图中.并且它需要在地图过期后
..
在集合中查找和标记重复对象的最佳方法是什么?让我们说我们有一个列表人员,我们的重复策略是基于名字和姓氏的完全匹配. 识别所有重复项 在每个重复的人上标记一个重复的人 对于每个重复的人,请确定与之重复的对象 有番石榴做这件事的简单方法吗? 解决方案 您不需要番石榴来做到这一点: List people = ... Map pe
..
我需要在String中转义特殊字符. Guava提供了 Escaper 类,它正是这样做的: Escaper escaper = Escapers.builder() .addEscape('[', "\\[") .addEscape(']', "\\]") .build(); String escapedStr = escaper.e
..
说我有一个番石榴多图.我有一个值"Foo",它可能属于一个或多个键.我有什么办法可以找出哪些键包含条目"Foo"? 解决方案 您可以反转Multimap.为此,您可以使用方法例如,如果您的Multimap是Multimap Multimap invertedMultimap = Multimaps.invertFrom(
..