【发布时间】:2018-05-07 15:43:57
【问题描述】:
LinkedList 包含一组Integer[]。列表中的每个 Integer[] 都有 2 个数字。
链表的例子:
Integer[]{1,2}, Integer[]{2,3}.....
在向此LinkedList 添加另一个Integer[] 之前,我想检查是否已经存在另一个具有相同数据的Integer[]。
例如:要添加的对象 = Integer[] {2,3}。但这已经存在于 LinkedList 中。
所以我想避免添加这个。
如何验证对象已经存在?有没有可以使用的内置功能? contains() 没有做到这一点。
【问题讨论】:
-
是否允许使用 Java 8+?
-
如果您的列表包含一个包含两个整数的类,并且如果该类覆盖了 equals 和 hashCode,反映了这些整数是什么,那么只需在列表上调用
contains(...)。如果你走这条路,那么最好让类不可变。 -
考虑使用
Set并使用正确的equals和hashcode方法为您的整数对创建一个类。 -
使用
Set<Point>>代替:没有重复的.equals好,add然后返回 false。
标签: java linked-list contains