草庐IT

java - Functional Java 和 Guava 之间有很好的比较吗?

我想在我将要教授的类(class)中使用FunctionalJava或Guava(或不太可能使用Scala)。尽管有很多函数式语言在JVM上运行,但我还是希望坚持使用看起来尽可能像Java的语言,即在概念上和句法上与Java8中预期的函数式特性最兼容的语言.看起来像FunctionalJava和Guava是最佳人选。我还没有找到任何在功能、易用性、概念上与直接Java的接近程度等方面对它们进行比较的东西。有谁知道这些库之间的良好比较? 最佳答案 Guava的目标不是在Java中提供函数式习语。来自FunctionalExplaine

java - 使用附加值或新值扩展 ImmutableMap

很像ImmutableList可以这样扩展:ImmutableListoriginalList=ImmutableList.of(1,2,3);ImmutableListextendedList=Iterables.concat(originalList,ImmutableList.of(4,5));如果我有一个现有map,我该如何扩展它(或创建一个具有替换值的新副本)?ImmutableMapoldPrices=ImmutableMap.of("banana",4,"apple",7);ImmutableMapnewPrices=…//Increaseappleprices,leav

java - 哪个版本的guava兼容java 1.7

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我的项目无法使用lastsGauva库进行编译,因为它似乎是使用Java1.8编译的,而我在我的项目中使用的是Java1.7。哪个版本的Guava与Java1.7兼容?

java - 我可以装饰 Guava 的 Joiner 类吗

我有一个List我们正在使用Joiner来获取该列表的逗号分隔表示,但现在我们需要做一些改进,我们需要将列表中的值大写。现在代码是-Stringstr=Joiner.on(',').skipNulls().join(myValueList);但是现在因为我需要将值中存在的字符串大写,所以我需要先迭代它以大写然后传递给Joiner加入,但我认为这不是一个好方法,因为它会迭代列表两次,onetocapitalize然后Joiner会迭代到Join.是否有任何其他我缺少的实用方法可以在一次迭代中执行此操作。你将如何使用Guava来实现? 最佳答案

java - 性能方面,Guava 库有多好?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我已经通过了GoogleGuava库,并在其中发现了许多好的、可用的数据结构。如果其他人使用过它,那么您能否提供有关它在处理大量数据集时的表现如何的反馈?基本上,我正在为其操作寻找BigO符号。提前致谢

java - Guava - 如何应用在 Iterable 上返回 Void 的函数

我只是想知道应用返回Void的函数的最佳方法是什么在Iterable/Collection上?我的用例是:我有一个Animal的列表对象我想调用列表中的每只动物eat()功能我有一个Function这叫input.eat();事实证明,当我打电话时:Collections2.transform(animalList,eatFunction);我觉得这不是很优雅,因为我不是在寻找转换,而是仅针对没有任何输出的应用程序。最糟糕的是,它甚至不起作用,因为Guava转换正在返回View。有效的是:Lists.newArrayList(Collections2.transform(animalL

java - Guava 表的原始替代品

有没有GuavaTables的替代品?使用基元而不是通用类型作为键?我想使用原语来避免使用JavaNumbers和JavaMaps创建的附加条目对象引起的自动装箱。我已经使用TroveTLongObjectMap滚动了我自己的基本LongLongObjectTable,但如果有的话,我更愿意使用标准库。privatestaticclassLongLongObjectTable{privatefinalTLongObjectMap>backingMap=newTLongObjectHashMap();Tget(finallongrowKey,finallongcolumnKey){fin

Java泛型通配符问题

在使用GoogleGuava出色的Multimap时,我遇到了一些泛型问题。我有一个这样定义的类型处理程序publicinterfaceHandler{voidhandle(Tt);}在另一个类中,我定义了一个将字符串映射到处理程序集合的多重映射。privateMultimap>multimap=ArrayListMultimap.create();现在,当我尝试使用多图进行操作时,我遇到了编译器错误。我的第一次尝试是这样的:publicvoiddoStuff1(Strings,Tt){Collection>collection=multimap.get(s);for(Handlerh

java - 如何使用 Google Guava 的 Throwables.propagateIfInstanceOf()?

Thejavadocexampletry{someMethodThatCouldThrowAnything();}catch(IKnowWhatToDoWithThisExceptione){handle(e);}catch(Throwablet){Throwables.propagateIfInstanceOf(t,IOException.class);Throwables.propagateIfInstanceOf(t,SQLException.class);throwThrowables.propagate(t);}不是很具体。一个真正的程序会是什么样子?我真的不明白这些方法的目

java - 在 Google Guava 中打印 HashBasedTable 的所有键和值

我创建并填充了一个GuavaTable使用以下代码:Tabletable=HashBasedTable.create();table.put("A","B",1);table.put("A","C",2);table.put("B","D",3);我想知道如何遍历表并打印出每一行的键和值?因此,所需的输出是:AB1AC2BD3 最佳答案 我不是Guava用户,所以这可能有点矫枉过正(如果这是真的,那么我会很高兴提供任何信息)但你可以使用table.rowMap()得到Map>它将以{A={B=1,C=2},B={D=3}}的形式表示