1
JavaIntermediate#collections#concurrency
ArrayList: backed by a dynamic array, O(1) random access, O(n) insert/delete in the middle. LinkedList: doubly linked, O(1) insert/delete at ends, O(n) random access. Prefer ArrayList for most reads.
List<Integer> al = new ArrayList<>(); al.get(0); // O(1) LinkedList<Integer> ll = new LinkedList<>(); ll.addFirst(1); // O(1)