LinkedList子类与Queue接口
LinkedList表示的是一个链表的操作类。定义如下:
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, Serializable
queue接口是collection的子接口,是队列操作。定义如下:
public interface Queue<E> extends Collection<E>
linkList的方法:
本身大量扩充了Queue和List接口操作。所以对于链表的使用时,最好直接使用LinkList类完成操作。
package 类集; import java.util.LinkedList; public class test1{ public static void main(String args[]){ LinkedList<String> link = new LinkedList<String>() ; link.add("A") ; // 增加元素 link.add("B") ; // 增加元素 link.add("C") ; // 增加元素 System.out.println("初始化链表:" + link) ; link.addFirst("X") ; // 在开头增加数据 link.addLast("Y") ; // 在结尾增加数据 System.out.println("增加头和尾之后的链表:" + link) ; } };
返回结果:
初始化链表:[A, B, C]
增加头和尾之后的链表:[X, A, B, C, Y]
通过继承的Queue接口的方法,使用,获取表头等操作。
package 类集; import java.util.LinkedList; public class test1{ public static void main(String args[]){ LinkedList<String> link = new LinkedList<String>() ; 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]
队列的先进先出。
实例2:
package 类集; import java.util.LinkedList; public class test1{ public static void main(String args[]){ LinkedList<String> link = new LinkedList<String>() ; 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、