当前位置: 首页 > 面试题库 >

使用番石榴从列表中删除重复项

沈茂
2023-03-14
问题内容

我们如何借助 Guava api 从列表中删除重复项?

目前,我正在关注:

private List<T> removeDuplicate(List<T> list){
return new ArrayList<T>(new LinkedHashSet<T>(list));
}

问题答案:

可能最有效的方法是ImmutableSet.copyOf(list).asList(),它消除重复并保留迭代顺序。

(但是您的实现LinkedHashSet几乎是一样高效,并且不会抛出空值,在极少数情况下,您实际上希望在集合中使用空值。)



 类似资料:
  • 问题内容: 假设我们有一个项目集合: 我想从Guava库(该列表为Ordering,我想)中从列表中获得最高价格的商品。我的意思类似于此Groovy代码: 我怎么做?有效率吗? 问题答案: 它的效率是最高的:遍历列表中的项目,并返回价格最高的第一个Item:O(n)。

  • 问题内容: 我在commons- lang中使用了简单的DTO。现在,我尝试使用Google Guava代替Apache Commons库。我在番石榴找到了。但是如果班上有很多成员,这太冗长了。例如: 如果我使用commons-lang,则简单得多: 有什么更好的方法可以用Guava而不是commons-lang 来实现? 番石榴文件 问题答案: 我有番石榴的小招。我将 IntelliJ IDEA

  • 问题内容: 刚刚发现了Guava库项目。 这些与GWT兼容吗? 问题答案: 从该页面的介绍性PDF中, 您可以在…上使用这些库。 在JDK 6上 在Android上, 我们认为。需要志愿者来帮助我们进行测试。 在Google App Engine上, 我们认为。需要志愿者来帮助我们进行测试。 在GWT上-参差不齐! 由于GWT的JDK库支持 可能参差不齐,也许是2/3,所以到目前为止,这些库中的东

  • 问题内容: 我想对列表中的元素进行分组。我目前正在这样做: 是否有更好的方法来做到这一点,最好使用番石榴? 问题答案: 当然可以,并且使用Guava甚至更容易:)使用: 如果给出具体的用例,将更容易展示它的实际作用。 来自文档的示例: 版画 在您的情况下,如果GroupFunction定义为: 那么它将转换为: 这是Guava示例中可能使用的实现。 最后,在Java 8中,整个片段甚至可以变得更加

  • 问题内容: 我想知道哪个更有效,为什么? 1) 要么 2) 问题答案: 我看不出您为什么要在此处使用builder的任何原因: 比在这种情况下制作一个更具可读性, 不会推断通用类型,并且在用作单行代码时必须自己指定类型, (来自docs) 在与另一个不可变集合调用时 做得很好( 尝试避免在安全的情况下实际复制数据 ), (从源) 调用以前创建的,同时避免为零元素和一元素集合创建任何列表(分别返回空

  • 我想为番石榴设个坑(http://pitest.org/)进行突变熟练度测试,但我在尝试运行时出现以下错误。这是我得到的错误: 基本上,要么PIT没有检测到测试,要么测试在PIT中运行不正常,所有测试都失败了。我读了这篇文章:JUnit测试通过,但PIT说套件不是绿色的,我认为“您的代码库是否包含可变静态状态?(例如在单例中)”是问题所在,但我不知道如何修复它。如果测试套件有一些隐藏的顺序依赖关系