下面编写几个程序,让读者了解此类的操作。
(1)实例操作一:在链表的开头和结尾增加数据
为了达到操作链表的目的,必须直接使用LinkedList类。因为List接口中没有表13-5中所定义的方法。
范例:为链表增加数据
- package org.lxh.demo13.listdemo;
- import java.util.LinkedList;
- public class LinkedListDemo01 {
- public static void main(String[] args) {
- LinkedList link = new LinkedList();
- link.add("A");
- // 向链表中增加数据
- link.add("B");
- // 向链表中增加数据
- link.add("C");
- // 向链表中增加数据
- System.out.println("初始化链表:" + link);
// 输出链表内容,调用- toString()
- link.addFirst("X");
// 在链表的表头增加内容- link.addLast("Y");
// 在链表的表尾增加内容- System.out.println("增加头和尾之后的链表:" +
link);// 输出链表内容,调- 用toString()
- }
- }
程序运行结果:
初始化链表:[A, B, C]
增加头和尾之后的链表:[X, A, B, C, Y]
(2)实例操作二:找到链表头
在LinkedList中存在很多种找到链表头的操作,其中最常用的介绍如下。
找到表头:public E element()。
找到不删除表头:public E peek()。
找到并删除表头:public E poll()。
范例:找到表头
- package org.lxh.demo13.listdemo;
- import java.util.LinkedList;
- public class LinkedListDemo02 {
- public static void main(String[] args) {
- LinkedList link = new LinkedList();
- link.add("A");
- // 向链表中增加数据
- link.add("B");
- // 向链表中增加数据
- link.add("C");
- // 向链表中增加数据
- System.out.println("1-1、element()方法找到表头:"
+ link.element());- System.out.println("1-2、找完之后的链表内容:" + link);
- System.out.println("2-1、peek()方法找到表头:" + link.peek());
- System.out.println("2-2、找完之后的链表内容:" + link);
- System.out.println("3-1、poll()方法找到表头:" + link.poll());
- System.out.println("3-2、找完之后的链表内容:" + link);
- }
- }
程序运行结果:
- 1-1、element()方法找到表头:A
- 1-2、找完之后的链表内容:[A, B, C]
- 2-1、peek()方法找到表头:A
- 2-2、找完之后的链表内容:[A, B, C]
- 3-1、poll()方法找到表头:A
- 3-2、找完之后的链表内容:[B, C]
(3)实例操作三:以先进先出的方式取出全部的数据
在LinkedList类中存在poll()方法,通过循环此操作,就可以把内容全部取出(以先进先出(FIFO)的方式)。
范例:以FIFO方式取出内容
- package org.lxh.demo13.listdemo;
- import java.util.LinkedList;
- public class LinkedListDemo03 {
- public static void main(String[] args) {
- LinkedList link = new LinkedList();
- link.add("A");
- // 向链表中增加数据
- link.add("B");
- // 向链表中增加数据
- link.add("C");
- // 向链表中增加数据
- System.out.print("以FIFO的方式输出:"); // 信息输出
- for (int i = 0; i < link.size() + 1; i++) {// 循环输出
- System.out.print(link.poll() + "、"); // 取出表头
- }
- }
- }
程序运行结果:
- 以FIFO的方式输出:A、B、C