ArrayList源码(改)(查)

39次阅读

共计 705 个字符,预计需要花费 2 分钟才能阅读完成。


// 传入更改元素的位置和内容,将被更改的元素传出
public E set(int index, E element) {
rangeCheck(index);

E oldValue = elementData(index);
elementData[index] = element;
return oldValue;
}

// 查询某元素是否存在
public boolean contains(Object o) {
return indexOf(o) >= 0;
}
// 查询某个元素位置正向
public int indexOf(Object o) {
if (o == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))
return i;
}
return -1;
}
// 查询某个元素位置反向
public int lastIndexOf(Object o) {
if (o == null) {
for (int i = size-1; i >= 0; i–)
if (elementData[i]==null)
return i;
} else {
for (int i = size-1; i >= 0; i–)
if (o.equals(elementData[i]))
return i;
}
return -1;
}
// 获取某个未知的元素
public E get(int index) {
rangeCheck(index);

return elementData(index);
}
E elementData(int index) {
return (E) elementData[index];
}

正文完
 0