好吧,这取决于您的课程的
hashCode()和
equals()方法
Pair。他们需要忽略顺序。
Set本身就是一个很好的例子,它忽略了相等的顺序-
您可以查看的代码
AbstractSet。如果甚至在相等比较之外对对的顺序也没有关系,则可以只将
HashSets(每个元素包含两个元素)存储在集合中。最好将其包装为数据类型:
public class UnorderedPair<T> { private final Set<T> set; public UnorderedPair(T a, T b) { set = new HashSet<T>(); set.add(a); set.add(b); } public boolean equals(Object b) { //...delegate to set } public int hashCode() { return set.hashCode(); }}


