【发布时间】:2013-10-23 06:53:10
【问题描述】:
我有一个 Array 的对象,因为我使用的是第 3 方库,所以数组是通过从库中调用一种方法获得的,我无法访问 MyObject 类。
//I have no access to MyObject class, I am sure the objects contain duplicated elements.
MyObject[] objects = SOME_LIB_CLASS.getObjects();
System.out.println("length is "+ objects.length); //length is 6
我尝试删除对象中的重复元素,我使用Set:
Set<MyObject> objectSet = new HashSet<MyObject>(Arrays.asList(objects));
System.out.println("length is "+ objectSet.size()); //length is 6 still
但是objectSet 仍然包含重复的元素,为什么以及如何在不遍历数组的情况下解决我的问题?
【问题讨论】:
-
另一种选择:为您收到的对象类型创建一个包装类,并在那里实现
Equals和Hashcode方法。
标签: java arrays swing jakarta-ee set