我有一个可能具有或不具有相同属性值的对象的列表/集合。获得具有相同属性的对象的不同列表的最简单方法是什么?一种收集类型最适合此目的吗?例如,在C#中,我可以使用LINQ执行以下操作。
var recipients = (from recipient in recipientList
select recipient).Distinct();
我最初的想法是使用lambdaj(链接文本),但似乎不支持此功能。
使用接口的实现Set<T>
(类T可能需要自定义.equals()
方法,您可能必须.equals()
自己实现)。通常,a
HashSet
是开箱即用的:它使用Object.hashCode()
和Object.equals()
方法比较对象。对于简单的对象,它应该足够独特。如果没有,你就必须执行T.equals()
和T.hashCode()
相应。
有关帮助实现equals和hashcode的库的信息,请参见下面的Gaurav Saini的评论。
问题内容: 我可能会尝试以困难的方式执行此操作,所以请让我知道是否有更好的解决方案。 我正在用Java开发一个简单的文字游戏,您可以通过GUI选择动作。我有几个班级正在尝试序列化一个是播放器,另一个是NPC。是否有一种简单的方法可以将一个以上的对象(播放器和NPC)序列化到同一文件中?我可以序列化一个对象并将其加载回游戏中。 我会以错误的方式处理吗?有没有更简单的方法来尝试保存游戏状态? 如果我有
在其中声明列表后 并在类PlayListStuff中添加字段
我该怎么做才能使这件事如我所愿?。谢谢 JSON对象示例列表 示例JSON对象: null 忽略不存在json字段的反序列化错误,但问题仍然存在。 示例:对象反序列化器
} 我有两个相同的对象,但是它们有不同的hashCode。为什么呢?我尝试覆盖Rational中的. equ方法r1.equals(r2)==true。但是它们仍然产生不同JavahashCode。
如何将2列表ArrayList与list进行比较 ArrayList={a,b,c,d}和list lst={a,b,c,d,e} 结果:列表al={e} 我应该如何处理这个问题?由于对象不同,比较器不工作,即使设置或其他操作也不工作
问题内容: 是否有可能创造 ; 我的意思是将来自不同类的对象添加到一个arraylist? 谢谢。 问题答案: 是的,有可能: 该列表将接受任何实现的对象。