如果要向Set中添加2个相同的数字:
写一个int类型的包装类,因为Integer是final的所以无法继承,实现Comparable方法
Set判断元素是否相同就是通过compareTo()方法进行的,将return设置不为0就能添加相同的元素了
public class MyInteger implements Comparable{
int i;
public MyInteger(int i) {
// TODO Auto-generated constructor stub
this.i = i;
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
@Override
public int compareTo(Object o) {
// TODO Auto-generated method stub
return 1;
}
}
测试类
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class TestSet {
public static void main(String [] args){
Set set = new TreeSet();
MyInteger i = new MyInteger(1);
MyInteger j = new MyInteger(1);
set.add(i);
set.add(j);
Iterator<MyInteger> iterator = set.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next().getI());
}
//System.out.println(set.size());
}