创建新的数组、旧数组数据复制到新数组,都是比较重量级的 *** 作。
另外,如果不是在尾部插入、删除数据还会涉及到元素的移动,使用尾插法并指定初始容量可以极大提高性能,甚至超过LinkedList,因为LinkedList需要创建大量的node对象。
LinkedList底层基于双向链表实现,元素可以储存在分散的内存中,适合做数据插入 *** 作及删除 *** 作,不适合随机查询,需要逐一遍历。
其次,ArrayList和LinkedList都实现了List接口,但是LinkedList还额外地实现了Deque接口,所以LinkedList还可以当作队列来用,利用双向链表和队列的特性,还是可以当作栈来使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)