从数据结构上来看,ArrayList是连续地址空间的数组结构,而LinkedList是双向链表结构。由他们的数据结构决定了,ArrayList由于地址连续的原因,在查找某个元素的时候很快。但是ArrayList是一个有初始化长度的数组,默认长度为10,所以在元素插入的过程中,如果元素个数大于初始化分配的数量时,就要重新分配一个更大的连续空间,并且将原数组拷贝到新分配的地址空间中去,所以这个过程是很耗费性能的。LinkedList是一个双向链表,链表的特性就是插入,删除比较便捷,但是遍历或查询得要从头或尾开始遍历。
网友评论