基础
    前者基于数组实现,后者基于链表
    前者对于随机访问较快,后者因为要移动指针
    对于add和remove操作,后者更具备优势,因为前者需要移动数据和申请空间,可能还要加上GC的STW

    适用场景
    如果是随机访问和尾部追加,那么ArrayList是最佳选择。因为尾部添加避免了数组移动和申请空间,GC等。但是ArrayList仍无法避免空间浪费问题