读书人

【数据结构与算法分析-java】之ArrayL

发布时间: 2012-11-23 00:03:43 作者: rapoo

【数据结构与算法分析-java】之ArrayList与LinkedList的区别

List ADT有两种流行的实现方式。

1.ArrayList类提供了List ADT的一种可增长数组的实现。使用ArrayList的有点在于,对get和set的调用花费常数时间。其缺点是新项的插入和现有项的删除代价昂贵,除非变动是在ArrayList的末端是在ArrayList的末端运行。

2.LinkedList类则提供了List ADT的双链表实现。使用LinkedList的优点在于,新项的插入和现有项的删除均开销很小,这里假设变动项的位置是已知的。

解释下数组类型和双链表的区别

a.数组

【数据结构与算法分析-java】之ArrayList与LinkedList的差别

b.双链表

【数据结构与算法分析-java】之ArrayList与LinkedList的差别

import java.util.* ;public class ListDemo01{public static void main(String args[]){List<Integer> li = new LinkedList<Integer>() ;for(int i=0;i<1000000;i++){li.add(i) ;}long startTime = System.currentTimeMillis() ;for(int i=0;i<10000;i++){if(li.get(i)%2==0){li.remove(i)  ;}}long endTime = System.currentTimeMillis() ;System.out.println(endTime-startTime) ;}}




读书人网 >软件架构设计

热点推荐