对于java中的Hashset,有一个.equals方法,用于比较每个集合中的元素.无论订单如何,这都会恢复吗?
例如,假设我们有一个元素集{a,b,c},另一个集合元素{b,c,a}
如果你在这两个集合上使用.equals它会返回true,还是必须进行排序?
小智 9
这应该返回true.文件说:
将指定对象与此set进行相等性比较.如果给定对象也是一个集合,则返回true,两个集合具有相同的大小,并且给定集合的每个成员都包含在此集合中.这可确保equals方法在Set接口的不同实现中正常工作.
Java HashSet是无序的 - 它们没有排序。因此,您的问题根本无法提出。该集合{a,b,c}与集合相同{b,c,a}。就是说,HashSet继承的AbstractSet#equals(Object)告诉我们以下内容:
比较指定对象与此设置是否相等。返回
true是否给定对象也是一个集合,两个集合的大小相同,并且给定集合的每个成员都包含在此集合中。这样可以确保该equals方法在Set接口的不同实现中都能正常工作。