栈可以存储一组元素,但是存取元素必须遵循,先进后出原则;
栈可以用于“后退”这样的操作
Deque<String> stack=new LinkedList<String>();
//入栈操作(队首入列)方法push()
stack.push("one");
stack.push("two");
stack.push("three");
stack.push("four");
System.out.println(stack);
//出栈操作
String s=stack.peek();
System.out.println(s);
System.out.println(stack);
//出栈操作(从队首删除并返回一个元素)pop()
String str=stack.pop();
System.out.println(str);
System.out.println(stack);
while(!stack.isEmpty()){
String str2=stack.pop();
System.out.println("出栈后的:"+stack);
}
//pop和poll两种在实现所有数据结构不同;
//poll是基于队列结构实现的方法,当队列中没有元素时,调用该方法返回null;
//pop是基于栈结构实现的方法,当栈中没有元素时,调用该方法会发生异常
//pop和poll都是去除linkedList的第一个元素,并将该元素删除等效于:removeFirist
String str3=stack.pop();
System.out.println(str3);//当主函数中空时,将没有什么东西拿来出队
队列
队列可以保存一组元素,但是存取元素必须遵循:先进先出原则
Java.until.Queue接口规定了队列相关存取等操作。
Queue继承自Java.util.Collection,所以集合的相关方法也具备
public static void main(String[] args) {
Queue<String> queue=new LinkedList<String>();
//入队操作
queue.offer("one");
queue.offer("翠花");
queue.offer("three");
queue.offer("four");
System.out.println(queue);
//引用队首元素,不做出队操作(返回队首的元素,但是并不删除)peek
String str=queue.peek();
//出队操作(从队首删除并返回一个元素) poll()
while(queue.poll()!=null){
String str2=queue.poll();
System.out.println("清理"+str2);
System.out.println(queue);
}
while(!queue.isEmpty()){
queue.poll();
}
System.out.println("queue:"+queue);
}