这种说法是在只考虑数据结构的情况下是如此
而你这里使用的是java包装的类 当然 实现不一样 执行性能也就不一样了
这是arraylist的remove- public E remove(int index) {
- RangeCheck(index);
- modCount++;
- E oldValue = (E) elementData[index];
- int numMoved = size - index - 1;
- if (numMoved > 0)
- System.arraycopy(elementData, index+1, elementData, index,
- numMoved);
- elementData[--size] = null; // Let gc do its work
- return oldValue;
- }
复制代码 这是linkedlist 的remove- private E remove(Entry<E> e) {
- if (e == header)
- throw new NoSuchElementException();
- E result = e.element;
- e.previous.next = e.next;
- e.next.previous = e.previous;
- e.next = e.previous = null;
- e.element = null;
- size--;
- modCount++;
- return result;
- }
复制代码 下面这个是用对象模仿的指针 执行效率 肯定要低些 |