为了创建自己的set而继承了AbstractSet,也实现了set() 和 iterator() 接口,但打印数组时出错。可是明显MySet里有元素且能查找1。是哪里出了问题?死循环?
import java.util.AbstractSet;
import java.util.Iterator;
public class Itrt {
public static void main(String[] args) {
MySet n = new MySet();
System.out.println("Is empty:"+n.isEmpty()+"\n"+"Size:"+n.size());
System.out.println("Contains 1:"+n.contains(1));
//System.out.println("Contains 2:"+n.contains(2)); 出错(一直运行)
//System.out.println(n.toString()); 出错 (java.lang.OutOfMemory)
//System.out.println(n.toArray()); 出错 (一直运行)
}
}
class MySet extends AbstractSet{
final int[] u = new int[]{1,2,3,4,5,6,7,8,9,0};
public int size(){
return u.length;
}
public class Itr implements Iterator{
int index = 0;
public boolean hasNext(){
return index< u.length;
}
@SuppressWarnings("unchecked")
public Integer next(){
Object i = u[index];
return (Integer)i;
}
}
public Iterator iterator(){
return new Itr();
}
}
OutPut:(除去出错的)
Is empty: false
Size: 10
Contains 1:true
望耐心指教,新手(^-^)