JAVA 容器(二)----List

来源:互联网 发布:淘宝客怎么采集 编辑:程序博客网 时间:2024/05/17 15:22
       List集合为列表类型,以线性方式存储对象,可以通过对象的索引操作对象。List常见的操作方法如下:
 JAVA <wbr>容器(二)----List
       List接口的常用实现类有ArrayList和LinkedList,在使用List集合时,通常情况下声明为List类型,实例化时根据实际情况的需要,实例化为ArrayList或LinkedList,例如:
       List l = new ArrayList();// 利用ArrayList类实例化List集合
       List l2 = new LinkedList();// 利用LinkedList类实例化List集合
说明一下,尖括号括起来的是类型参数,它指定了这个容器实例可以保存的类型。这个类型参数可以是基本类型,也可以是我们自己定义的对象。
接下来具体说说类ArrayList和LinkedList用法。
1.ArrayList类:
它就是所谓的动态数组,可以灵活的设置数组的大小。
假设我们有个类Apple,现在我们要用ArrayList来操作它,首先实例化:
ArrayList al=new ArrayList();
接着就可以使用add()方法来插入对象.由于JAVA向上转型的特性,我们不仅可以添加Apple对象,也可以添加Apple子类的对象。
我们可以使用get(i)来获得元素的索引,使用size()方法可以知道有多少元素添加了进来。还可以使用contains(object a)来判断是否包含某个指定的对象。
这个就是ArrayList类的常见用法。
2.LinkedList类
这个就是链表类,它常用的方法介绍如下:
(1)获取第一个元素:getFirst()与element()完全一样,它们都获得列表的头,但是不删除,如果List为空,则抛出NoSuchElementException。peek()方法与它们的差异在于列表为空时候返回Null。
(2)删除第一个元素:removeFirst()与remove()完全一样,列表为空时候同样抛出NoSuchElementException。poll()与它们差别在于列表为空时候返回null。
(3)列表尾部添加元素:add()和addLast()方法完全相同。
(4)列表首部添加元素:addFirst()方法。
(5)列表指定位置添加元素:add(int index,E element)。
另外说明,LinkedList提供了方法以支持队列的行为,并且它实现了Queue的接口,因此它可以通过向上转型用作Queue的一种实现。
3.ArrayList与LinkedList比较
ArrayList长于随机访问元素,但是List的中间插入和删除元素时候较慢;而LinkedList它在List中间插入和删除元素时候代价低,但是在随机访问方面较慢。
4.Stack类用法。
除了上面两种常见的List,Stack类也是其中List一种,现在说说“栈”的常用方法。
peek()查看栈顶对象但是不删除它;pop()删除栈顶对象并且返回被删除的对象;empty()测试栈是否为空,push(Object o)在栈顶插入一个对象,search(Object o)返回对象在栈中的位置(以1为基数)。
关于List就说这么多吧。
0 0
原创粉丝点击