1. ds:

    • ArrayList: dynamic array
    • LinkedList: linked list
  2. eff:

    • random access: ArrayList
    • add/remove: LinkedList
  3. degree of freedom:

    • ArrayList: low, set capacity, easy to use;
    • LinkedList: high, change w.r.t. #elements, uneasy to use
  4. major expense:

    • ArrayList: space pre-set for list
    • LinkedList: node storage, node pointer