1、如何实现栈
- ArrayDeque:底层基于数组实现,故随机访问元素性能较好
- LinkedList:底层基于链表实现,故插入、删除操作性能比较好
使用例子:实现一个栈操作,将1-12月的英文单词压入栈,然后再将其取出
import java.util.*;
//如何实现栈、队列
public class Stacks {
static String[] months = {"January","February","March","April","May","June","July","August",
"September","October","November","December"};
public static void main(String[] args) {
//ArrayDeque可以当做栈、队列使用,底层是数组实现,所以随机访问元素性能比较好
ArrayDeque<String> stack = new ArrayDeque<String>();
for(int i = 0; i < months.length; i++) {
stack.push(months[i] + " ");
}
while(!stack.isEmpty()) {
System.out.print(stack.pop());
}
System.out.println();
//LinkedList既可以做栈,又可以做队列使用,底层基于链表实现,故插入、删除性能比较好
LinkedList<String> stk = new