用arraylist或linkedlist实现先进先出队列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用arraylist或linkedlist实现先进先出队列相关的知识,希望对你有一定的参考价值。

测试用例:依次入队三个字符串a,I,l, 出队,入队i,出队,入队 u,g l,打印队列中所有的字符串

%D5%BB%BA%CD%B6%D3%C1%D0%CA%C7%C1%BD%D6%D6%CC%D8%CA%E2%B5%C4%CF%DF%D0%D4%B1%ED%A3%AC%CB%FC%C3%C7%B5%C4%C2%DF%BC%AD%BD%E1%B9%B9%BA%CD%CF%DF%D0%D4%B1%ED%CF%E0%CD%AC%A3%AC%D6%BB%CA%C7%C6%E4%D4%CB%CB%E3%B9%E6%D4%F2%BD%CF%CF%DF%D0%D4%B1%ED%D3%D0%B8%FC%B6%E0%B5%C4%CF%DE%D6%C6%A3%AC%B9%CA%D3%D6%B3%C6%CB%FC%C3%C7%CE%AA%D4%CB%CB%E3%CA%DC%CF%DE%B5%C4%CF%DF%D0%D4%B1%ED%A1%A3+%0D%0A%0D%0A++LinkedList%CA%FD%BE%DD%BD%E1%B9%B9%CA%C7%D2%BB%D6%D6%CB%AB%CF%F2%B5%C4%C1%B4%CA%BD%BD%E1%B9%B9%A3%AC%C3%BF%D2%BB%B8%F6%B6%D4%CF%F3%B3%FD%C1%CB%CA%FD%BE%DD%B1%BE%C9%ED%CD%E2%A3%AC%BB%B9%D3%D0%C1%BD%B8%F6%D2%FD%D3%C3%A3%AC%B7%D6%B1%F0%D6%B8%CF%F2%C7%B0%D2%BB%B8%F6%D4%AA%CB%D8%BA%CD%BA%F3%D2%BB%B8%F6%D4%AA%CB%D8%A3%AC%BA%CD%CA%FD%D7%E9%B5%C4%CB%B3%D0%F2%B4%E6%B4%A2%BD%E1%B9%B9%A3%A8%C8%E7%A3%BAArrayList%A3%A9%CF%E0%B1%C8%A3%AC%B2%E5%C8%EB%BA%CD%C9%BE%B3%FD%B1%C8%BD%CF%B7%BD%B1%E3%A3%AC%B5%AB%CB%D9%B6%C8%BB%E1%C2%FD%D2%BB%D0%A9%A1%A3%0D%0A%0D%0A++%D5%BB%B5%C4%B6%A8%D2%E5%0D%0A%0D%0A++%D5%BB%A3%A8Stack%A3%A9%CA%C7%CF%DE%D6%C6%BD%F6%D4%DA%B1%ED%B5%C4%D2%BB%B6%CB%BD%F8%D0%D0%B2%E5%C8%EB%BA%CD%C9%BE%B3%FD%D4%CB%CB%E3%B5%C4%CF%DF%D0%D4%B1%ED%A1%A3%0D%0A%0D%0A++%281%29%CD%A8%B3%A3%B3%C6%B2%E5%C8%EB%A1%A2%C9%BE%B3%FD%B5%C4%D5%E2%D2%BB%B6%CB%CE%AA%D5%BB%B6%A5%A3%A8Top%A3%A9%A3%AC%C1%ED%D2%BB%B6%CB%B3%C6%CE%AA%D5%BB%B5%D7%A3%A8Bottom%A3%A9%A1%A3%0D%0A%0D%0A++%282%29%B5%B1%B1%ED%D6%D0%C3%BB%D3%D0%D4%AA%CB%D8%CA%B1%B3%C6%CE%AA%BF%D5%D5%BB%A1%A3%0D%0A%0D%0A++%283%29%D5%BB%CE%AA%BA%F3%BD%F8%CF%C8%B3%F6%A3%A8Last+In+First+Out%A3%A9%B5%C4%CF%DF%D0%D4%B1%ED%A3%AC%BC%F2%B3%C6%CE%AALIFO%B1%ED%A1%A3%0D%0A%0D%0A++%D5%BB%B5%C4%D0%DE%B8%C4%CA%C7%B0%B4%BA%F3%BD%F8%CF%C8%B3%F6%B5%C4%D4%AD%D4%F2%BD%F8%D0%D0%A1%A3%C3%BF%B4%CE%C9%BE%B3%FD%A3%A8%CD%CB%D5%BB%A3%A9%B5%C4%D7%DC%CA%C7%B5%B1%C7%B0%D5%BB%D6%D0%22%D7%EE%D0%C2%22%B5%C4%D4%AA%CB%D8%A3%AC%BC%B4%D7%EE%BA%F3%B2%E5%C8%EB%A3%A8%BD%F8%D5%BB%A3%A9%B5%C4%D4%AA%CB%D8%A3%AC%B6%F8%D7%EE%CF%C8%B2%E5%C8%EB%B5%C4%CA%C7%B1%BB%B7%C5%D4%DA%D5%BB%B5%C4%B5%D7%B2%BF%A3%AC%D2%AA%B5%BD%D7%EE%BA%F3%B2%C5%C4%DC%C9%BE%B3%FD%A1%A3%0D%0A%0D%0A++%CA%B5%CF%D6%B4%FA%C2%EB%A3%BA%0D%0A%0D%0A++package+com.weisou.dataStruct%3B%0D%0A%0D%0A++import+java.util.LinkedList%3B%0D%0A%0D%0A++++%40SuppressWarnings%28%22unchecked%22%29%0D%0A%0D%0A++public+class+MyStack+%7B%0D%0A%0D%0A++LinkedList+linkList+%3D+new+LinkedList%26lt%3BObject%26gt%3B%28%29%3B%0D%0A%0D%0A++public+void+push%28Object+object%29+%7B%0D%0A%0D%0A++linkList.addFirst%28object%29%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A++public+boolean+isEmpty%28%29+%7B%0D%0A%0D%0A++return+linkList.isEmpty%28%29%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A++public+void+clear%28%29+%7B%0D%0A%0D%0A++linkList.clear%28%29%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A%2F%2F+%D2%C6%B3%FD%B2%A2%B7%B5%BB%D8%B4%CB%C1%D0%B1%ED%B5%C4%B5%DA%D2%BB%B8%F6%D4%AA%CB%D8%0D%0A%0D%0A++public+Object+pop%28%29+%7B%0D%0A%0D%0A++if+%28%21linkList.isEmpty%28%29%29%0D%0A%0D%0A++return+linkList.removeFirst%28%29%3B%0D%0A%0D%0A++return+%22%D5%BB%C4%DA%CE%DE%D4%AA%CB%D8%22%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A++public+int+getSize%28%29+%7B%0D%0A%0D%0A++return+linkList.size%28%29%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A++public+static+void+main%28String%5B%5D+args%29+%7B%0D%0A%0D%0A++MyStack+myStack+%3D+new+MyStack%28%29%3B%0D%0A%0D%0A++myStack.push%282%29%3B%0D%0A%0D%0A++myStack.push%283%29%3B%0D%0A%0D%0A++myStack.push%284%29%3B%0D%0A%0D%0A++System.out.println%28myStack.pop%28%29%29%3B%0D%0A%0D%0A++System.out.println%28myStack.pop%28%29%29%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A++%7D%0D%0A%0D%0A++%B6%D3%C1%D0%B6%A8%D2%E5%0D%0A%0D%0A++%B6%D3%C1%D0%A3%A8Queue%A3%A9%CA%C7%D6%BB%D4%CA%D0%ED%D4%DA%D2%BB%B6%CB%BD%F8%D0%D0%B2%E5%C8%EB%A3%AC%B6%F8%D4%DA%C1%ED%D2%BB%B6%CB%BD%F8%D0%D0%C9%BE%B3%FD%B5%C4%D4%CB%CB%E3%CA%DC%CF%DE%B5%C4%CF%DF%D0%D4%B1%ED%0D%0A%0D%0A++%A3%A81%A3%A9%D4%CA%D0%ED%C9%BE%B3%FD%B5%C4%D2%BB%B6%CB%B3%C6%CE%AA%B6%D3%CD%B7%A3%A8Front%A3%A9%A1%A3%0D%0A%0D%0A++%A3%A82%A3%A9%D4%CA%D0%ED%B2%E5%C8%EB%B5%C4%D2%BB%B6%CB%B3%C6%CE%AA%B6%D3%CE%B2%A3%A8Rear%A3%A9%A1%A3%0D%0A%0D%0A++%A3%A83%A3%A9%B5%B1%B6%D3%C1%D0%D6%D0%C3%BB%D3%D0%D4%AA%CB%D8%CA%B1%B3%C6%CE%AA%BF%D5%B6%D3%C1%D0%A1%A3%0D%0A%0D%0A++%A3%A84%A3%A9%B6%D3%C1%D0%D2%E0%B3%C6%D7%F7%CF%C8%BD%F8%CF%C8%B3%F6%A3%A8First+In+First+Out%A3%A9%B5%C4%CF%DF%D0%D4%B1%ED%A3%AC%BC%F2%B3%C6%CE%AAFIFO%B1%ED%A1%A3%0D%0A%0D%0A++%CA%B5%CF%D6%B4%FA%C2%EB%A3%BA%0D%0A%0D%0A++package+com.weisou.dataStruct%3B%0D%0A%0D%0A++import+java.util.LinkedList%3B%0D%0A%0D%0A++%2F%2A%2A%0D%0A%0D%0A++%2A%0D%0A%0D%0A++%2A+%40author+gf%0D%0A%0D%0A++%2A+%40date+2009-11-13%0D%0A%0D%0A++%2A%2F%0D%0A%0D%0A++public+class+MyQueue+%7B%0D%0A%0D%0A++LinkedList+linkedList+%3D+new+LinkedList%28%29%3B%0D%0A%0D%0A++%2F%2F%B6%D3%CE%B2%B2%E5%0D%0A%0D%0A++public+void+put%28Object+o%29%7B%0D%0A%0D%0A++linkedList.addLast%28o%29%3B%0D%0A%0D%0A%2F%2F%B6%D3%CD%B7%C8%A1+%C8%A1%CD%EA%B2%A2%C9%BE%B3%FD%0D%0A%0D%0A++public+Object+get%28%29%7B%0D%0A%0D%0A++if%28%21linkedList.isEmpty%28%29%29%0D%0A%0D%0A++return+linkedList.removeFirst%28%29%3B%0D%0A%0D%0A++else%0D%0A%0D%0A++return+%22%22%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A++public+boolean+isEmpty%28%29%7B%0D%0A%0D%0A++return+linkedList.isEmpty%28%29%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A++public+int+size%28%29%7B%0D%0A%0D%0A++return+linkedList.size%28%29%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A++public+void+clear%28%29%7B%0D%0A%0D%0A++linkedList.clear%28%29%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A++%2F%2A%2A%0D%0A%0D%0A++%2A+%40param+args%0D%0A%0D%0A++%2A%2F%0D%0A%0D%0A++public+static+void+main%28String%5B%5D+args%29+%7B%0D%0A%0D%0A++MyQueue+myQueue%3D+new+MyQueue%28%29%3B%0D%0A%0D%0A++myQueue.put%281%29%3B%0D%0A%0D%0A++myQueue.put%282%29%3B%0D%0A%0D%0A++myQueue.put%283%29%3B%0D%0A%0D%0A++System.out.println%28myQueue.get%28%29%29%3B%0D%0A%0D%0A++%7D%0D%0A%0D%0A++%7D 参考技术A 你好,代码你可以参考一下:
import java.util.LinkedList;

public class Test
private LinkedList<String> queue = new LinkedList<String>() ;
public void fallIn(String s)
System.out.println(s + "入队");
queue.add(s) ;


public void fallOut()
int len = queue.size() ;
for(int i=0;i<len;i++)
System.out.println( queue.removeFirst() + "出队");


public void print()
System.out.print("元素有:") ;
for(String list : queue)
System.out.print(list + " ");



public static void main(String[] args)
Test t = new Test() ;
t.fallIn("a") ;
t.fallIn("l") ;
t.fallIn("l") ;
t.fallOut() ;
t.fallIn("i") ;
t.fallOut() ;
t.fallIn("u") ;
t.fallIn("g") ;
t.fallIn("l") ;
t.print() ;

以上是关于用arraylist或linkedlist实现先进先出队列的主要内容,如果未能解决你的问题,请参考以下文章

java集合:LinkedList

Java自学-集合框架 LinkedList

何时在 ArrayList 或 LinkedList 上使用 GlueList? [复制]

2019-05-25 Java学习日记之List集合

ArrayList和LinkedList底层实现的区别

LinkedList与ArrayList的区别(内部实现)