List and ArrayList:
1、List是一个接口,ArrayList是一个实现了List接口的具体类。 他们是父子关系,我们常用的是ArrayList,但常用List的引用去操作ArrayList 这是一个简单的面向接口编程的一种,如:List myList = new ArrayList();
2、他们主要是用来保存对象的集合,记得是保存对象的哦,你可别传个int进去啊
3、要取出它里面保存的对象可以用下标,如:Object aaa = myList.get(0); 这样我们就把保存在myList里的第一个对象取出来给了 aaa 啦。
ArrayList:
ArrayList其实是包装了一个数组Object[],当实例化一个ArrayList时,一个数组也被实例化,当向ArrayList中添加对象是,数组的大小也相应的改变。这样就带来以下有特点:
快速随即访问 你可以随即访问每个元素而不用考虑性能问题,通过调用get(i)方法来访问下标为i的数组元素。
向其中添加对象速度慢 当你创建数组是并不能确定其容量,所以当改变这个数组时就必须在内存中做很多事情。
操作其中对象的速度慢 当你要想数组中任意两个元素中间添加对象时,数组需要移动所有后面的对象。
LinkList:
LinkedList是通过节点直接彼此连接来实现的。每一个节点都包含前一个节点的引用,后一个节点的引用和节点存储的值。当一个新节点插入时,只需要修改其中保持先后关系的节点的引用即可,当删除记录时也一样。这样就带来以下有特点:
操作其中对象的速度快 只需要改变连接,新的节点可以在内存中的任何地方
不能随即访问 虽然存在get()方法,但是这个方法是通过遍历接点来定位的所以速度慢。
一些结论:
当一些被定义好的数据需要放到与数组对应的List中,ArrayList是很好的选择,因为它可以动态变化,但是不要在整个应用程序中频繁的使用。
你要很方便的操作其中的数据而不用随即访问时;LinkList是很好的选择。如果你要频繁随机访问建议使用ArrayList。
分享到:
相关推荐
ArrayList LinkList Vector的区别 java开发 集合 collection
ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references)。例如我们可以用ArrayList来存储一系列的String或者Integer。那么ArrayList和LinkedList在性能上有什么差别呢?什么时候应该用ArrayList...
C# Array和ArrayList,List区别
java中ArrayList 、LinkList的区别分析,需要的朋友可以参考一下
经典讲解List和ArrayList和Vector和HashTable和HashMap区别
ArrayList Vector LinkedList 区别与用法.
关于arraylist和linkedList的区别
ArrayList,LinkList链表接口实现 JAVA+eclipse实现
该ArrayList、LinkList链表接口实现是一个基于Java开发的应用程序,旨在为用户提供一个方便的工具来管理自己的数据。该应用包括源码、部署说明、系统文档和源码解释等资源,方便用户进行学习和实践。 在学习过程中...
毕业设计源码之ArrayList,LinkList链表接口实现 视频
List、ArrayList、Vector及map、HashTable、HashMap分别的区别
ArrayList、LinkedList、Vector区别简介。
Java ArrayList Vector LinkedList map区别 各种集合的区别 写得非常详细
java中ArrayList的用法
list集合案例增、删、改、查,ArrayList与LinkedList的区别,LinkedList堆栈/队列的开发,list集合容量会自动扩容,list去除重复
List、ArrayList、Vector及map、HashTable、HashMap的区别与用法 使用容器排序 Vector由于使用了synchronized方法(线程安全)
要回答这个问题不能一概而论,有时候使用Vector比较好;有时是ArrayList,有时候这两个都不是最好的选择。你别指望能够获得一个简单肯定答案,因为这要看你用它们干什么。下面有4个要考虑的因素:
什么是ArrayList? 如何使用ArrayList? ArrayList重要的方法和属性?
List最全总结( ArrayList, LinkedList, 匿名类)
详细介绍Java中ArrayList的使用方法以及与vector的对比