【发布时间】:2018-02-03 14:43:49
【问题描述】:
无论情况如何,我都需要从 String 的 ArrayList 中删除重复项。对于当量:
List list = Lists.newArrayList("Luke","luke");// it's guava's method
list.stream().distinct();
distinct() 上面不会有任何帮助,因为它适用于返回 false 的 equals 方法。有没有其他方法可以做类似的事情:
list.stream().distinct((a,b)->a.equalsIgnoreCase(b)).collect(..);
更新:
它可能与possible duplicate 不同,因为可能重复的答案确实显示了如何使用地图将distinct() 与属性一起使用。但是,如果添加了“luke”,则包含“Luke”的地图将不会返回 true,因此这些答案不适用于此问题。
【问题讨论】:
-
出于好奇,Java-8 中是否有静态方法
Lists.newArrayList? -
@zlakad 不,那是番石榴方法。
-
@JoeC,谢谢,我很困惑。
-
我还是不明白这是怎么重复的。