Java中的FIFO和LIFO分別指的是先進先出和后進先出的數據結構。在Java中,我們可以使用隊列(Queue)實現FIFO,堆棧(Stack)實現LIFO。
隊列(Queue)是一種線性存儲結構,它的特點是先進先出(FIFO),即最先進隊列的元素最先出隊列。在Java中,我們可以使用接口Queue來實現隊列的功能:
Queue<String> queue = new LinkedList<>(); queue.offer("Java"); queue.offer("Python"); queue.offer("C++"); queue.poll(); //Java queue.poll(); //Python queue.poll(); //C++
從代碼中可以看出,offer方法用于在隊列尾部插入元素,poll方法用于取出隊列頭部的元素。
堆棧(Stack)是一種線性存儲結構,它的特點是后進先出(LIFO),即最后進棧的元素最先出棧。在Java中,我們可以使用堆棧(Stack)類來實現堆棧的功能:
Stack<String> stack = new Stack<>(); stack.push("Java"); stack.push("Python"); stack.push("C++"); stack.pop(); //C++ stack.pop(); //Python stack.pop(); //Java
從代碼中可以看出,push方法用于在堆棧頂部插入元素,pop方法用于取出棧頂的元素。