package collection;
import java.util.LinkedList;
/*
 * 1.implement List接口
 * 2.底层是一个链表结构:查询慢,增删快
 * 注意:使用LinkedList特有的方法,不能使用多态(假如使用多态,我们让父类引用指向子类实例,那么我们只能使用子类
 * 从父类继承的方法,也就是父类中的方法,而子类特有的方法就不能使用了)
 * LinkedList特有的方法:
 * 		public void addFirst(E e):将指定元素添加到链表的头部
 * 		public void addLast(E e):将指定元素添加到链表的尾部
 * 		public void push(E e):将元素推入此链表所表示的堆栈(等同addFirst)
 * 
 * 		public E getFirst():返回链表的第一个元素
 * 		public E getLast():返回链表的最后一个元素
 * 
 * 		public E removeFirst():移除该链表的第一个元素
 * 		public E removeLast():移除该链表的最后一个元素
 * 		public E pop():从此链表所表示的堆栈处弹出一个元素
 * 
 * 		public boolean isEmpty():如果链表为空,则返回true
 */
public class LinkedList01 {
	public static void main(String[] args) {
		show();
	}
	private static void show()
	{
		LinkedList<String> Llist=new LinkedList<String>();
		Llist.add("a");
		Llist.add("b");
		Llist.add("c");
		System.out.println(Llist);
		Llist.addFirst("s");  //向链表头部添加数据
		System.out.println(Llist);
		Llist.push("v");		//等同addFirst
		System.out.println(Llist);
		//Llist.clear(); //从父类List中继承过来的方法,清空链表中的元素
		if(!Llist.isEmpty())  //注意判断链表是否为空,因为如果链表为空,再去获取元素就会报错
		{
			String first=Llist.getFirst();//获取链表第一个元素
			System.out.println("获取的第一个元素为"+first);
		}
	//	else
	//	{
	//		System.out.println("链表已置空!");
	//	}
		if(!Llist.isEmpty())  
		{
			String firstRemove=Llist.removeFirst();
			System.out.println("移除的第一个元素为"+firstRemove);
		}
		
	}
}

在这里插入图片描述

posted on 2020-05-09 16:27  凸凸大军的一员  阅读(75)  评论(0编辑  收藏  举报