LinkedList集合很适合做栈和队列
栈与队列
示例代码:
package collection.app.d5_collection_list;
import java.util.LinkedList;
/**
LinkedList,很适合做栈和队列
*/
public class ListDemo3 {
public static void main(String[] args) {
//LinkedList可以完成队列结构和栈结构
//栈(先进后出,后进先出)
//压栈,入栈
LinkedList<String> stack=new LinkedList<>();
//将数据压入栈
stack.push("第1颗子弹");
stack.push("第2颗子弹");
stack.push("第3颗子弹");
stack.push("第4颗子弹");
System.out.println(stack);
//出栈,弹栈
System.out.println(stack.pop());//将数据弹出栈,并删除
System.out.println(stack);
System.out.println(stack.pop());//将数据弹出栈,并删除
System.out.println(stack);
System.out.println(stack.pop());//将数据弹出栈,并删除
System.out.println(stack);
System.out.println("-------------------------");
//队列
LinkedList<String> queue=new LinkedList<>();
//入队(先进先出,后进后出)
//进入队列,从队后进入队列
queue.addLast("1号");
queue.addLast("2号");
queue.addLast("3号");
queue.addLast("4号");
//出队
System.out.println(queue.removeFirst());
System.out.println(queue);
System.out.println(queue.removeFirst());
System.out.println(queue);
System.out.println(queue.removeFirst());
System.out.println(queue);
}
}
运行截图: