1、 ArrayList底层采用数组实现,LinkedList底层采用双向链表实现。
2、 当执行插入或删除操作时,采用LinkedList比较好。
3、 当执行搜索操作时,采用ArrayList比较好。
4、 当向ArrayList调价一个对象时,实际上就是将该对象放置到了ArrayList底层所维护的数组当中;当向LinkedList添加一个对象时,实际上LinkedList内部会生成一个Node对象,该Node对象的结构为:
Node
{
Object item;
Node next;
Node prev;
}
其中的Object类型的元素item就是我们向LinkedList中添加的元素,然后Node又构造好了向前与向后的引用prev、next。最后将生成的这个Node对象添加到链表中。换句话说,LinkedList中所维护的是一个个Node对象。