ArrayList,LinkedList,Vestor

Collection是最基本的集合接口,声明了适用于JAVA集合的通用方法,list和set都继承自collection接口。

Collection接口的方法

boolean add(Object o):向集合中加入一个对象的引用

void clear():删除集合中所有的对象,即不再持有这些对象的引用

boolean isEmpty():判断集合是否为空

boolean contains(Object o): 判断集合中是否持有特定对象的引用

Iterartor iterator():返回一个Iterator对象,可以用来遍历集合中的元素

boolean remove(Object o):从集合中删除一个对象的引用

int size():返回集合中元素的数目

Object[] toArray(): 返回一个数组,该数组中包括集合中的所有元素

关于:Iterator() 和toArray() 方法都用于集合的所有的元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。

Collection没有get()方法来取得某个元素。只能通过iterator()遍历元素。

List的功能方法 

ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口

List:次序是List最重要的特点:它保证维护元素特定的顺序。

同步:

  ArrayList,LinkedList是不同步的,不安全的 。而Vestor是同步的,安全的,不考虑线程安全情况使用ArrayList,LinkedList,节省了同步的开销。多线程的情况下,有时候不得不考虑Vestor了。

数据增长 :

  内部实现机制下ArrayList和Vector都是使用Objec的数组形式来存储的,缺省扩容时ArrayList数组扩容1.5倍,Vector数组扩容2倍。

ArrayList:由初始为10的字符数组实现的List。指定下标允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。

一般大家都知道ArrayList和LinkedList的大致区别: 
     1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
     2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
     3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据,插入或删除一个元素意味着这个列表中剩余的元素都会被移动。

原文地址:https://www.cnblogs.com/lideshuai/p/8949826.html

时间: 2024-10-08 19:54:15

ArrayList,LinkedList,Vestor的相关文章

描述一下 ArrayList,LinkedList,Vestor各自实现和区别

ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下: 一.同步性 ArrayList,LinkedList是不同步的,而Vestor是同步的.所以如果不要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费的开销.但在多线程的情况下,有时候就不得不使用Vector了.当然,也可以通过一些办法包装ArrayList,LinkedList,使他们也达到同步,但效率可能会有所降低.

List ArrayList LinkedList vector简介与区别

ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下: ArrayList:底层用数组实现的List 特点:查询效率高,增删效率低 轻量级 线程不安全 LinkedList:底层用双向循环链表 实现的List 特点:查询效率低,增删效率高 Vector: 底层用数组实现List接口的另一个类 特点:重量级,占据更多的系统开销 线程安全 一.同步性 ArrayList,LinkedList是不同步的,而Vestor

ArrayList LinkedList Vector

ArrayList是基于数组实现的,没有容量的限制. 在删除元素的时候,并不会减少数组的容量大小,可以调用ArrayList的trimeToSize()来缩小数组的容量. ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下: ArrayList:底层用数组实现的List 特点:查询效率高,增删效率低 轻量级 线程不安全 LinkedList:底层用双向循环链表 实现的List 特点:查询效率低,增删效率高 Ve

ArrayList,LinkedList的对比

ArrayList,LinkedList都是Collection接口的通用实现方式,两者采用了不用的存储策略,用来适应不同场合的需要. 实现方式 ArrayList的内部采用集合的方式存储数据 唯一需要注意的是对于容量超过阈值的处理逻辑,数组的默认容量大小是10,最大容量是Integer.Max_Value,超过最大容量会抛内存溢出异常, 扩容机制看下面 扩容后的容量是原有容量的1.5倍 LinkedList的实现方式 内部采用双向链表Node内部类来存储数据,由于采用了双向链表,LinkedL

Android ArrayList LinkedList Set HashMap的介绍.

在Android开发中我们经常需要对数据进行分类和操作,对于轻量级的数据存储我们可能不需要动用SQLite或效率以及类库不完善的XML,由于 SharedPreferences不具备数据枚举方法,如果仅仅是一个String或Int数组可以通过一个标记分割设计外,我们还是主要来看看 Android或者说Java提供的基础数据类型辅助类ArrayList LinkedList Set HashMap的介绍. 在Java中提供了Collection和Map接口.其中List和Set继承了Collect

安卓 ArrayList,LinkedList,HashSet,Vector,TreeSet的区别和使用

java的集合就那么几种 总体为:List,Set,Map (都是接口由其子类去实现具体的方法) ArrayList,LinkedList,Vector都属于List List:元素是有顺序的,元素可以重复因为每个元素有自己的角标(索引)  |-- ArrayList:底层的数据结构是数组结构,特点是:查询很快,增 删 稍微慢点,线程不同步 |-- LinkedList:底层使用的是链表数据结构,特点是:增 删很快,查询慢. |--Vector:底层是数组数据结构,线程同步,被ArrayList

ArrayList&LinkedList&Map&Arrays

Java集合框架 1:集合接口 1.1:Collection接口 Collection接口是构造集合框架的基础.它声明所有类集合都将拥有的核心方法 Boolean add(Object obj) 将obj加入到调用类集合中,加入返回true 否则 返回 false Boolean addAll(Collection c) 将c中所有元素都加入到类集合中,都加入返回true否则 false Void clean() 从调用类集合中删除所有元素 Boolean contains(Object obj

java集合Collection的List ArrayList LinkedList 区别

概述 1.List的特点:线性顺序存储元素.元素可重复.可以存放null 2.ArrayList.LinkedList 一.List特点 如此图所示,List的存储形式是一个线性的结构,所以它可以重复,也可以存null.当然具体子类是怎么实现的,各有各个的形式. 二.关于List的方法 大部分这里都不会像介绍Collection接口那样逐一解释了.只讲部分使用时比较特殊点的. List<E> subList(int fromIndex, int toIndex) 待续....

Vector,ArrayList,LinkedList,SynchronizedList

总体来说,Vector和ArrayList是一致的,实现的接口也是完全一样,内部的存储结构也基本一致[都是数组],每个方法的实现也几乎相同. 区别在于,Vector是线程安全的,每个方法都加了synchronized修饰符,而ArrayList没有. 而且Vector是JDK1.0引入的,而ArrayList是JDK1.2引入的. ==================================强大的分割线====================================== 再来说A