请问各位JAVA中的ArrayList 是采用的链式存储还是线性存储呢?

解决方案 »

  1.   

    线性存储吧
    内存采用 Object[]数组保存数据
      

  2.   

    ArrayList 和Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList 差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。多说一个Vector  
      

  3.   

    基于数组的
    --signature---------------------
    http://www.mowker.com/list/
      

  4.   

    ArrayList 和Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList 差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快
      

  5.   

    ArrayList 内部用数组保存数据
    LinkedList 内部用链表保存数据从名字可以看出来啊
      

  6.   

    ArrayList从名字上看是典型的适配器模式的应用:把Array适配到List,本质还是Array,只不过它提供了List的接口。
    看看设计模式和Java编程思想会对这类问题有所帮助
    也可以加入这个软件开发与设计群交流交流:191415413
      

  7.   

    迭代器不太理解,就是Itertor 游标吧
      

  8.   

    谢谢!我的是在C:\Program Files \Java\jdk1.6.0_25 目录下找到的
      

  9.   

    arraylist是用数组的,所以添加删除慢,查得快
    linkedlist是用链表的,查得慢,添加删除快