小编典典

Java-不同的对象列表

java

我有一个可能具有或不具有相同属性值的对象的列表/集合。获得具有相同属性的对象的不同列表的最简单方法是什么?一种收集类型最适合此目的吗?例如,在C#中,我可以使用LINQ执行以下操作。

var recipients = (from recipient in recipientList
                 select recipient).Distinct();

我最初的想法是使用lambdaj(链接文本),但似乎不支持此功能。


阅读 223

收藏
2020-09-24

共1个答案

小编典典

使用接口的实现Set<T>(类T可能需要自定义.equals()方法,您可能必须.equals()自己实现)。通常,a
HashSet是开箱即用的:它使用Object.hashCode()Object.equals()方法比较对象。对于简单的对象,它应该足够独特。如果没有,你就必须执行T.equals()T.hashCode()相应。

有关帮助实现equals和hashcode的库的信息,请参见下面的Gaurav Saini的评论。

2020-09-24