public void add(
int i, Object e) {
if(size ==
elementData.length){
grow();
}
//后移i后面的元素,给i腾出位置
for(
int j = size; j > i; j--
){
elementData[j] = elementData[j-1
];
}
elementData[i] =
e;
size ++
;
}
//将数据元素e插入到元素 object 之前
@Override
public int addBefore(Object object, Object e) {
int temp = 0
;
if(size ==
elementData.length){
grow();
}
for(
int k = size ;k > 0; k--
){
if(elementData[k - 1
].equals(object)){
temp = k - 1
;
// return temp;
}
if(temp <
k )
elementData[k] = elementData[k - 1
];
}
elementData[temp] =
e;
size ++
;
return 1
;
// for(int k = size - 1 ;k >= 0; k--){
// if(elementData[k].equals(object)){
// return true;
// }
// }
}
public void grow(){
// Object [] newArr = new Object[elementData.length * 2];
// for(int i=0;i<size;i++){
// newArr[i] = elementData[i];
// }
// elementData = newArr;
//以上可以简写为
elementData = Arrays.copyOf(elementData, elementData.length * 2
);
}
天知道我写对这两个方法花了多少时间!!!!!!!!!!
虽然还没考虑完善addBefore()方法输入不存在的元素存在的问题。
转载于:https://www.cnblogs.com/ybzmy/p/9735160.html