队列
1.概念
队列是一种先进先出(FIFO)的线性结构。
2.关于队列的相关名词
- 队头:进行删除数据的端
- 队尾:进行添加数据的端
- 入列:添加数据
- 出列:取出数据
- 空队列:没有存储数据
3.工作原理
队列使用了两个指针,一个指向队头,负责对数据进行删除操作;一个指向队尾,负责对数据进行添加操作。最好理解的例子就是去排队,比如去食堂打饭,先来的肯定先排在最前面,当打完饭他就得离开这条队伍,即出列;然后他后面的人就继续走上去打饭,而后来的人需要从这条队伍的尾部排起,即入列。别跟我扯你能插队。
4.Java中使用队列
java有提供Queue,最符合普通的队列是它的一个实现类:linkedList,你没看错,就是它,它是一个双向链表实现的,所以使用好方法即可做为栈,也可以作为队列来使用。
5.代码
import java.util.LinkedList; import java.util.Queue; public class TestQueen { public static void test1() { LinkedList<Integer> queue = new LinkedList<Integer>(); // 入列,添加到队尾 queue.add(1); queue.add(2); queue.add(3); queue.add(4); // 使用add或者offer都可以,两者有一个区别,如果当队列满列了,使用add添加数据则会抛出异常,使用offer会返回false queue.offer(5); while(!queue.isEmpty()) { // 出列,删除队头的数据 System.out.print(queue.poll() + " "); } System.out.println(); } public static void main(String[] args) { test1(); } }
有帮助的可以点个赞噢!有错误的也请在评论区帮我指出,有时可能写错甚至自己理解错。我很高兴去帮助人,因为在我新手时也是经常被别人帮助,很感谢那些博主。
有要转载的请提供转载地址。