java中list的get⽅法_LinkedList的get⽅法分析---java
java中index是什么意思() 获取元素
Get(int)⽅法的实现在remove(int)中已经涉及过了。⾸先判断位置信息是否合法(⼤于等于0,⼩于当前LinkedList实例的Size),然后遍历到具体位置,获得节点的业务数据(element)并返回。
⽅法
get(int index):返回此列表中指定位置处的元素。
getFirst():返回此列表的第⼀个元素。
getLast():返回此列表的最后⼀个元素。
indexOf(Object o):返回此列表中⾸次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
lastIndexOf(Object o):返回此列表中最后出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1
public E get(intindex) {
checkElementIndex(index);returnnode(index).item;
}
private void checkElementIndex(intindex) {if (!isElementIndex(index))throw
newIndexOutOfBoundsException(outOfBoundsMsg(index));
}
/*** Returns the (non-null) Node at the specified element index.*/Node node(intindex) {//assert isElementIndex(index);
if (index < (size >> 1)) {
Node x =first;for (int i = 0; i < index; i++)
;returnx;
}else{
Node x =last;for (int i = size - 1; i > index; i--)
x=x.prev;returnx;
}
}
注意细节:位运算与直接做除法的区别。先将index与长度size的⼀半⽐较,如果indexsize/2,就只从位置size往前遍历到位置index处。这样可以减少⼀部分不必要的遍历
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论