•LinkedList类扩展AbstractSequentialList并执行List接口。它提供了一个链接列表数据结构。它具有如下的两个构造函数,说明如下
–LinkedList( )
–LinkedList(Collection c)
–第一个构造函数建立一个空的链接列表。
–第二个构造函数建立一个链接列表,该链接列表由类集c中的元素初始化
• 除了它继承的方法之外,LinkedList类本身还定义了一些有用的方法,这些方法主要用于操作和访问列表。使用addFirst( )方法可以在列表头增加元素;使用addLast( )方法可以在列表的尾部增加元素。它们的形式如下所示
–void addFirst(Object obj)
–void addLast(Object obj)
–这里,obj是被增加的项
• 调用getFirst( )方法可以获得第一个元素。调用getLast( )方法可以得到最后一个元素。它们的形
式如下所示:
–Object getFirst( )
–Object getLast( )
• 为了删除第一个元素,可以使用removeFirst( )方法;为了删除最后一个元素,可以调用removeLast( )方法。它们的形式如下所示
–Object removeFirst( )
–Object removeLast( )- import java.util.ArrayList;
- public class ArrayListTest1
- {
- public static void main(String[] args)
- {
- ArrayList arrayList = new ArrayList();
- arrayList.add("hello");
- arrayList.add("world");
- arrayList.add("world");
- arrayList.add("welcome");
- String s1 = (String)arrayList.get(0);
- String s2 = (String)arrayList.get(1);
- String s3 = (String)arrayList.get(2);
- String s4 = (String)arrayList.get(3);
- System.out.println(s1);
- System.out.println(s2);
- System.out.println(s3);
- System.out.println(s4);
- System.out.println("------------");
- for(int i = 0; i < arrayList.size(); i++)
- {
- System.out.println(arrayList.get(i));
- }
- //arrayList.clear();
- //System.out.println(arrayList.isEmpty());
- arrayList.remove(0);
- arrayList.remove("welcome");
- System.out.println("------------");
- for(int i = 0; i < arrayList.size(); i++)
- {
- System.out.println(arrayList.get(i));
- }
- System.out.println("--------------");
- arrayList.add("aaa");
- arrayList.add("bbb");
- System.out.println(arrayList.indexOf("world"));
- }
- }
复制代码 – 因为LinkedList实现List接口,调用add(Object)将项目追加到列表的尾部,如同addLast( )方法所做的那样。使用add( )方法的add(int, Object)形式,插入项目到指定的
位置,如例子程序中调用add(1,“A2”)的举例
–注意如何通过调用get( )和set( )方法而使得LinkedList中的第三个元素发生了改变。为了获得一个元素的当前值,通过get( )方法传递存储该元素的下标值。为了对这个下标位置赋一个新值,通过set( )方法传递下标和对应的新值
LinkedList是采用双向循环链表实现的。
•利用LinkedList实现栈(stack)、队列(queue)、双向队列(double-endedqueue )。
|