java手动实现集合(数组形式)

来源:互联网 发布:单片机软件原理 编辑:程序博客网 时间:2024/05/20 08:22

直接上代码:

package bean;import java.util.Iterator;public class ListDemo<T> implements Iterable<T> {    private Object[] obj;    private int size;    private Iterator<T> iterator;    public int getSize() {        return size+1;    }    public ListDemo(){        iterator = new IteratorImpl();        size = 0;        obj = new Object[10];    }    public void addItem(Object o){        if(size%10==9){            Object[] objTemp = obj;            obj = new Object[objTemp.length+10];            for(int i=0;i<objTemp.length;++i){                obj[i] = objTemp[i];            }        }        obj[size] = o;        size++;    }    public void remove(int index){        obj[index] = null;        size--;    }    public Iterator<T> getIterator(){        return iterator;    }    @SuppressWarnings("unchecked")    public T getObject(int index){        if(index>size){            System.err.println("超出范围!");            throw new IndexOutOfBoundsException("超出范围!");        }        return (T) obj[index-1];    }    @Override    public Iterator<T> iterator() {        // TODO Auto-generated method stub        return iterator;    }    private class IteratorImpl implements Iterator<T>{        private int index = 0;        @Override        public boolean hasNext() {            // TODO Auto-generated method stub            return index != size;        }        @SuppressWarnings("unchecked")        @Override        public T next() {            // TODO Auto-generated method stub            return (T)obj[index++];        }    }}
原创粉丝点击