1. ArrayList

特点:一个可变的数组,它改变了数组定义后不可变的缺点

该类是java.util包下的

该类的优点:ArrayList也是一个动态数组更是一个可变的数组

  1. 动态的增加和减少元素
  2. 实现了CollectionList接口
  3. 可以灵活的设置数组的大小

我们可知的是,数组是静态的,并且数组初始化之后,数组的长度也就不能改变了。

     但是也有缺点:

  1. 使用ArrayList的实例比使用数组效率更低
  2. ArrayList的实例只能够储存对象(引用类型),但是不包含基本类型的值,比如一些intdoublefloatchar等等。(要想使用它们就必须把它们包装成引用类型)

1Arraylist的常用方法

Boolean add(Element e)

增加指定元素到链表尾部

Void add(int index,Element e)

增加指定元素到链表的指定位置去

Void clear()

删除链表中的所有元素

E remove(int index)

删除链表中的指定位置的元素

Void removeRangeint indexint end

删除链表中从某一个位置到另一个元素的元素

E  getint index

获取链表指定位置处的元素

Object[] toArray()

获取一个数组,数组所有元素是链表中的元素(也就是将链表转换为一个数组)

E setint indexE element

将链表中的指定元素替换成新元素

Boolean containsObject o

如果链表包含指定元素,返回true,反之

Boolean isEmpty()

检查链表是否为空返回true则表示没有元素

Int size()

返回链表的长度(也就是元素的个数)

使用方法(此方法是一个有序的、有索引、可重复的)

java list 数组key value java listarray_数组


java list 数组key value java listarray_链表_02

2. LikedList

对比一下ArrayList ,该类有着与对方相反的功能

ArrayList使用数组实现,查询快、增加和删除元素慢。

LikedList使用链表实现,查询慢、但是增加和删除元素块。

此方法,适用于继经常插入、删除大量数据的场合,适用于用Iterator迭代器遍历

一些特定的方法(这些方法不能使用在多态)

AddFirst()

在集合的头部添加元素

addLast()

在集合的尾部添加元素

removeFirst()

删除集合的头部元素

RemoveLast()

删除集合的尾部元素

Push()

入栈、等同于addFirst()

Pop()

出栈、等同于addLast()

Offer()

入队列、等同于addLast()

Poll()

出队列、等同于removeLast()

此类是List的子类,而List又是Collection的子类,其他的方法参考以上两个即可

使用方法:

java list 数组key value java listarray_java_03

 控制台输出:

java list 数组key value java listarray_指定位置_04