这道题我学习的时候做过,集合ArrayList你该用过吧,里头有 add 、remove等等方法,用来存东西很好用。你先看看这个类的用法,这题就是让你自己写一个ArrayLsit,当然你写的可以没有那么强大,但是这里的几个方法要你实现。可以用数组来做,主要问题是扩容问题,因为数组形态上和 Arraylist很像,你可以获得它的长度,取到某个位置的对象。关键是数组的长度是固定的,你add方法添加一个对象就必须重定义一个更长的数组,一般是做个判断如果长度不够了就定义一个加一倍长度的数组。主要是在你这个类里头维护一个数组。不过对于基础不够扎实的同学来说可能会有一定难度。随便找本java基础书,看完基础部分应该可以做出来。
让你写个类叫MyArrayList ,这个类包括以上几个方法
写个框架,没写的你往里填逻辑。一些具体实现你可以参照ArrayList的源码
public class MyArrayList {
privuate Object[] arr ;
private int size;
public MyArrayList ;
public MyArrayList() {
this(10);
}
private MyArrayList(int initialCapacity) {
arr = new Object[initialCapacity]
size = 0;
}
public void add(Object o){
if(size == arr.length){
Object[] arrTemp = arr ;
arr = new Object[arrTemp.length * 2];
for(int i= 0;i< arrTemp.length ;i++){
arr [i] = arrTemp [i]
}
arr [size] = o;
}else{
arr[size] = o;
}
size++;
}
public Object get(int index){
if(index >= size){
return null;
}
return arr [index];
}
public int size(){
return size;
}
}