这是什么意思啊? 老师留的作业题,也不会啊! 求解啊!
老师是要你扩展一个类,自己封装一些常用的操作
你可以先继承它,随便你自己扩展一些方法
@稳稳的河: 能帮我把MyLinkedLIst实现一下, 我借鉴一下可以么, 要拓展java.util.AbstractSequentialList
@诺-诺: 你直接继承AbstractList实现List接口,模仿实现ArrayList,不就可以了,ArrayList你不是有源码了吗?
这里没有扩展这个AbstractList,你可以自己实现很多的方法什么的,这是模仿ArrayList的一些方法 public class MyArrayList { private Object[] datas;// 存放数据 private int size;// 存放大小 public MyArrayList() { this.size = 0; //这个地方你可以加一个常量 datas = new Object[100000]; } public boolean add(Object obj) { ensureCapacity(size + 1); datas[size++] = obj; return true; } public Object remove(int index){ RangeCheck(index); Object oldValue = datas[index]; int numMoved = size - index - 1; if (numMoved > 0) System.arraycopy(datas, index+1, datas, index, numMoved); datas[--size] = null; return oldValue; } public Object set(int index,Object obj){ RangeCheck(index); Object oldValue = datas[index]; datas[index] = obj; return oldValue; } public int size() { return size; } public void clear(){ for (int i = 0; i < datas.length; i++) { datas[i] = null; } size = 0; } public void ensureCapacity(int minCapacity) { int oldCapacity = datas.length; if (minCapacity > oldCapacity) { int newCapacity = (oldCapacity * 3) / 2 + 1; if (newCapacity < minCapacity) newCapacity = minCapacity; datas = Arrays.copyOf(datas, newCapacity); } } private void RangeCheck(int index) { if (index >= size) throw new IndexOutOfBoundsException( "Index: "+index+", Size: "+size); } }
@诺-诺: java.util.AbstractSequentialList这个类好一点,在链式操作方面设计的好点
@稳稳的河: 好的, 我看看咯, 谢谢你!
他是一个抽象类,你继承之后需要实现一些虚拟方法就可以了。