
package day03;
import java.util.LinkedList;
import java.util.Queue;
/**
* 数据结构:队列
* Queue接口:java.util.Queue
* offer:将元素放入队列
* poll:从队列中取元素 取得的是最早offer的元素
* 从队列中取出元素后,该元素会从队列中删除
* peek:获取队首的元素。(不删除该元素!)
*
* LinkedList就是队列的子类
* @author Administrator
*
*/
public class DemoQueue {
public static void main(String[] args) {
/**
* 创建一个LinkedList实例,把它当作队列去看待!
* 同样的,队列中我们也应该只存放一种数据类型的数据
* 所以同样可以用泛型去约束
*/
Queue queue = new LinkedList();
queue.offer("A");
queue.offer("B");
queue.offer("C");
System.out.println(queue);//[A,B,C]
//获取队首元素,但不令其出队
System.out.println("队首:"+queue.peek());
String element = null;
/**
* 从队列中获取元素使用poll()方法,若该方法返回null说明队列中没有元素了
*/
while((element=queue.poll())!=null){
System.out.println(element);
}
/**
* 队列本着先进先出原则存放数据(FIFO)
* 队列不支持插队,插队是不道德的。
*/
}
}
package day03;
import java.util.Deque;
import java.util.LinkedList;
/**
* 栈数据结构
* Deque:
* push:压入 向栈中存入数据
* pop: 弹出 从栈中取出数据
* peek:获取栈顶位置的元素,但不取出
*
* 栈结构本着先进后出原则(FILO)
* 子弹夹就是一种栈结构
* LinkedList也是继承了Deque接口。
* @author Administrator
*
*/
public class DemoDeque {
public static void main(String[] args) {
/**
* 创建一个栈结构保存字符
*/
Deque deque = new LinkedList();
for(int i=0;i
1636984416
查看更多评论