一.LinkedList的方法
LinkedList(模仿栈和队列):
——-addFirst/addLast/add/getFirst/getLast/element
——-(堆栈)push(压栈)/pop(弹栈)/(队列):offer/poll/peek(获取队列的头元素,不删除)
——-descendingIterator()//反序列
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
public class TestLinkedList {
//获取第一个,获取最后一个 添加第一个,添加最后一个
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("aaa");
list.add("bbb");
list.addFirst("first");
list.addLast("LAST");
System.out.println(list.getFirst());//list.element()
System.out.println(list.getLast());
System.out.println("==========================");
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));
}
//数据结构:栈 队列 二叉树 哈希表
//栈:先进后出
//队列:先进先出
System.out.println("=================================");
//获取一个倒序迭代器
Iterator it = list.descendingIterator();
while(it.hasNext()){
System.out.println(it.next());
}
/* ArrayList l = new ArrayList();
Iterator i = l.listIterator();
while(i.hasNext()){
System.out.println(i.next());
}*/
}
}
二.LinkedList模仿栈的实现
import java.util.Date;
import java.util.LinkedList;
/*
* 栈:先进后出
*/
public class TestStack {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList();
//压栈:最先添加的在最后面
list.push("西游记");
list.push("三国演义");
list.push("石头记");
list.push("水浒传");
//list.push(new Date());
for (int i = 0; i <list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("=====================================");
//弹栈
String str1 = list.pop();
System.out.println("1:"+str1);
String str2 = list.pop();
System.out.println("2:"+str2);
String str3 = list.pop();
System.out.println("3:"+str3);
String str4 = list.pop();
System.out.println("4:"+str4);
System.out.println(list.size());
}
}
三.模拟队列的实现
import java.util.LinkedList;
/**
* 队列:先进先出
* @author Limin
*
*/
public class TestDuiL {
public static void main(String[] args) {
LinkedList list = new LinkedList();
//进入队列
list.offer("西游记");
list.offer("三国演义");
list.offer("石头记");
list.offer("水浒传");
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));
}
System.out.println("==================");
//c出队列
System.out.println(list.poll()); //获取队列的头元素,并且删除
System.out.println(list.poll());
System.out.println(list.poll());
System.out.println(list.poll());
System.out.println(list.peek());//获取队列的头元素,不删除
System.out.println(list.peekFirst());//获取队列的头元素,不删除
System.out.println(list.peekLast());
System.out.println(list.size());
}
}