package Practice;
import java.util.Iterator;
public class MyArrayList implements Iterable{
private Object[] values;
private int currentSize;
public MyArrayList(int initialCapacity)
{
values=new Object[initialCapacity];
currentSize=0;
}
public MyArrayList()
{
this(10);
}
public int getCapacity()
{
return values.length;
}
public int getCurrentSize()
{
return currentSize;
}
public void add(Object o)
{
values[currentSize] = o;
currentSize++;
resize();
}
public Object get(int ind)
{
return values[ind];
}
public Object remove(int ind)
{
Object ret=values[ind];
currentSize--;
for(int i=ind;i<currentSize;i++)
{
values[i] = values[i+1];
}
return ret;
}
public void resize()
{
if(currentSize==values.length)
{
Object[] tmp=values;
values=new Object[tmp.length*2];
for(int i=0;i<tmp.length;i++)
values[i]=tmp[i];
}
else
;
}
class MyIterator implements Iterator
{
Object[] values;
int curentSize;
int curInd;
public MyIterator(Object[] values,int currentSize)
{
this.values=values;
this.curentSize=currentSize;
curInd=0;
}
public boolean hasNext() {
if(curInd<currentSize)
return true;
return false;
}
public Object next() {
Object ret=values[curInd++];
return ret;
}
}
public Iterator iterator() {
// TODO Auto-generated method stub
MyIterator it=new MyIterator(values,currentSize);
return it;
}
}
练习——ArrayList
最新推荐文章于 2024-04-23 22:43:10 发布