gpt4 book ai didi

java - ArrayList.ListIterator(int索引)与ArrayList.get(int索引)

转载 作者:行者123 更新时间:2023-12-01 07:41:32 30 4
gpt4 key购买 nike

我想知道使用 ArrayList.ListIterator(int index - 1) 然后使用 it.next() 与使用 ArrayList.get(int index) 相比会对性能产生什么影响?

最佳答案

为什么要查看实现......

1: List.listIterator(int)

public ListIterator<E> listIterator(final int index) {
if (index<0 || index>size())
throw new IndexOutOfBoundsException("Index: "+index);

return new ListItr(index);
}

private class ListItr extends Itr implements ListIterator<E> {
ListItr(int index) {
cursor = index;
}

// [...]

public E next() {
checkForComodification();
try {
E next = get(cursor);
lastRet = cursor++;
return next;
} catch (IndexOutOfBoundsException e) {
checkForComodification();
throw new NoSuchElementException();
}
}

2:List.get(int)

public E get(int index) {
RangeCheck(index);

return (E) elementData[index];
}

应该很明显,哪个更快。有关性能影响的详细信息,我必须同意迈克的观点。对其进行简介。无论出于什么原因,您都想使用如此独特的访问方法来访问一项(?)

关于java - ArrayList.ListIterator(int索引)与ArrayList.get(int索引),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4387910/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com