1. 程式人生 > >ArrayList和LinkedList中的get方法底層實現

ArrayList和LinkedList中的get方法底層實現

1.ArrayList的get方法  因為底層是陣列 直接通過下標獲得

2.LinkedList的get方法  因為底層是連結串列,連結串列沒有下標,需要迭代遍歷:

 if (index < (size >> 1)) {
            Node<E> x = first;
            for (int i = 0; i < index; i++)
                x = x.next;
            return x;
        } else {
            Node<E> x = last;
            for (int i = size - 1; i > index; i--)
                x = x.prev;
            return x;
        }
    }