jsp ArrayList和LinkedList的区别及ArrayList的特点

网页特效phttp://www.111cn.net/网页特效p.html target=_blank >jsp教程 arraylist和linkedlist的区别及arraylist的特点

arraylist)  
private transient object[] elementdata;   

 
//………………………………………………………………………………   
 

(linkedlist)  
private transient entry<e> header = new entry<e>(null, null, null);/链表头   

 
//内部链表类.  

private static class entry<e> {  
    e element; //数据元素  
    entry<e> next; // 前驱  
    entry<e> previous;//后驱  
    entry(e element, entry<e> next, entry<e> previous) {  
        this.element = element;  
        this.next = next;  
        this.previous = previous;  
    }  
}   

 
/*
毫无疑问,第一点就是两者的内部数据结构不同, arraylist内部元素容器是一个object的数组,
 而linkedlist内部实际上一个链表的数据结构,其有一个内部类来表示链表.
 两者的父类不同,也就决定了两者的存储形式不同。 arraylist继承于 abstractlist,而linkedlist继承于abstractsequentiallist. 两者都实现了list的骨干结构,只是前者的访问形式趋向于 "随机访问"数据存储(如数组),后者趋向于 "连续访问"数据存储(如链接列表)

*/

public class arraylist<e> extends abstractlist<e> 
public class linkedlist<e> extends abstractsequentiallist<e> 

/*
再有就是两者的效率问题, arraylist基于数组实现,所以毫无疑问可以直接用下标来索引,其索引数据快,插入元素设计到数组元素移动,或者数组扩充,所以插入元素要慢。linkedlist基于链表结构,插入元素只需要改变插入元素的前后项的指向即可,故插入数据要快,而索引元素需要向前向后遍历,所以索引元素要慢。
*/

public void ensurecapacity(int mincapacity) {  
        modcount++;  
        int oldcapacity = elementdata.length;  
        if (mincapacity > oldcapacity) {  
            object olddata[] = elementdata;  
             //这里扩充的大小为原大小的大概 60%  
            int newcapacity = (oldcapacity * 3) / 2 + 1;  
            if (newcapacity < mincapacity)  
                newcapacity = mincapacity;  
            //创建一个指定大小的新数组来覆盖原数组  
            elementdata = arrays.copyof(elementdata, newcapacity);  
        }  
    }   

时间: 2024-10-16 12:30:26

jsp ArrayList和LinkedList的区别及ArrayList的特点的相关文章

java集合框架05——ArrayList和LinkedList的区别

本文为博主原创文章,转载请注明出处:http://blog.csdn.net/eson_15/article/details/51145788 前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容. List概括         先来回顾一下List在Collection中的的框架图:     从图中我们可以看出:         1. List是一个接口,它继承与Collection接口,代表有序的队列.       

ArrayList和LinkedList的区别

一般大家都知道ArrayList和LinkedList的大致区别:1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针.3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据.    这一点要看实际情况的.若只对单条数据插入或删除,ArrayList的速度反而优于LinkedList.但若是

比较List和ArrayList的性能及ArrayList和LinkedList优缺点

List和ArrayList的性能比较 在使用ArrayList这样的非泛型集合的过程中,要进行装箱和拆箱操作,会有比较大的性能损失,而使用泛型集合就没有这样的问题.List是泛型,而ArrayList是非泛型.存数据岛ArrayList都需要专程object,读取又要转换成相应的数据类型,List则不需要. //用来记录开始和结束的时间  DateTime startTime = new DateTime();  DateTime endTime = new DateTime(); //定义集

[Java] ArrayList、LinkedList、Vector的区别

版权声明:请尊重个人劳动成果,转载注明出处,谢谢! 首先我们来看一下继承关系: 我们可以看出ArrayList.LinkedList.Vector都实现了List的接口.  接下来分别看一下三个数据结构的说明. public class ArrayList extends AbstractList  implements List, RandomAccess, Cloneable, Serializable List 接口的大小可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的

Java中ArrayList和LinkedList区别

一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针. 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据. ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references).例如

深入理解ArrayList 和 LinkedList 区别

ArrayList的内部实现是基于数组,因此,它使用get方法访问列表中的任意一个元素时,它的速度要比LinkedList快.LinkedList的内部实现是基于链表的,LinkedList中的get方法是按顺序从列表的一端到另一端.对LinkedList而言,只有这种查找方法. Bruca Eckel描述如下: Java编程思想对List的描述(4版P233): 基本的ArrayList,它长于随机访问,但是在List的中间插入和一处速度较慢. LinkedList,它通过代价较低的在List

.NET Framework源码研究系列之---ArrayList与LinkedList

在上一篇<.NET Framework源码研究系列之---马甲List>中我们一起研究了.NET中 List的源代码,也得到一些兄弟的热心反馈.其中一位仁兄说希望看到ArrayList与LinkedList源 代码,所以今天就以此为话题,大家一起看一下.NET中是如何实现ArrayList和LinkedList 的. 我们先看ArrayList和LinkedList在.NET中的位置,ArrayList的命名空间是 System.Collections,LinkedList的命名空间是Syst

Java 容器 &amp; 泛型:二、ArrayList 、LinkedList和Vector比较

一.List回顾 序列(List),有序的Collection,正如它的名字一样,是一个有序的元素列表.确切的讲,列表通常允许满足 e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null 元素.实现List的有:ArrayList.LinkedList.Vector.Stack等.值得一提的是,Vector在JDK1.1的时候就有了,而List在JDK1.2的时候出现,待会我们会聊到ArrayList和Vector的区别.  

java中ArrayList 、LinkList的区别分析_java

1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.      2.对于随机访问get和set,ArrayList优于LinkedList,因为ArrayList可以随机定位,而LinkedList要移动指针一步一步的移动到节点处.(参考数组与链表来思考)     3.对于新增和删除操作add和remove,LinedList比较占优势,只需要对指针进行修改即可,而ArrayList要移动数据来填补被删除的对象的空间. ArrayList和LinkedL