摘要:
LinkedList使用链表结构实现(jdk1.6之前包括jdk1.6使用双向循环链表,自1.7开始使用双向链表)。 链表的添加节点与删除节点花费的时间要远比数组小,因为链表只涉及插入位置的两个节点的变动。 但是链表的查询却是需要遍历查询,花费的时间要比数组更多。 阅读全文
摘要:
ArrayList底层使用数组完成。创建时初始化一个数组长度。每次执行添加操作时先查询数组里是否还有空间,如果有就添加,如果没有,则进行扩容操作。扩容就是先获取旧的数组,再创建一个新的数组,初始化它的长度为原数组的1.5倍,再把旧数组的内容拷贝过去。由于每次(在表前或者中间)添加或者删除一个元素都需 阅读全文