我希望在TreeSet中有一些int对,并按第一个数字对它们进行排序.
代码测试:
public static void main (String[] args) throws java.lang.Exception
{
SortedSet<int[]> s = new TreeSet<int[]>(new Comparator<int[]>(){
public int compare(int[] a, int[] b) {
return b[0] - a[0];
}
});
int[] a = new int[]{1, 2};
int[] b = new int[]{1, 3};
s.add(a);
s.add(b);
System.out.println(s.size());
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么TreeSet的大小变成1.看起来像hashCode a
和b
是一样的,但为什么呢?
谢谢你的帮助.
顺便说一句:事实上,我试图将重复的数字放在一个集合中,这是不可能的.然后我尝试在一组中使用int对.第一个数字是我想要的实际数字,第二个数字是为了防止重复.但我遇到了这个问题.