Java使用LinkedList来模拟一个队列(先进先出的特性)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java使用LinkedList来模拟一个队列(先进先出的特性)相关的知识,希望对你有一定的参考价值。

拥有放入对象的方法void put(Object o)
取出对象的方法Object get()
判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。

import java.util.LinkedList;

public class Demo01 
private LinkedList<Object> linkedList;

public Demo01() 
linkedList = new LinkedList<Object>();


public void put(Object object) 
linkedList.add(object);


public Object get() 
Object object = null;
if (linkedList.size() != 0) 
object = linkedList.get(0);
linkedList.remove(0);

return object;


public boolean isEmpty() 
if (linkedList.size() != 0) 
return true;
 else 
return false;



public static void main(String[] args) 
Demo01 demo01 = new Demo01();
demo01.put("1");
demo01.put("2");
System.out.println(demo01.get());
System.out.println(demo01.get());
System.out.println(demo01.isEmpty());

结果:

1

2

false

参考技术A 本来就是一个实现了的队列,它是链表的方式。

list的接口有如下几个函数
Object get(int idx);
void add(Object obj);
int length()

那么如果完全按照队列的函数定义 应该是
Object getFirst(); //取得第一个
void append(); //追加一个

getFirst 可以用 get(0)代替
append 可以用add代替。
isEmpty 可以用 length() == 0判断。

所以根本不是模拟,本来它就实现了。

以上是关于Java使用LinkedList来模拟一个队列(先进先出的特性)的主要内容,如果未能解决你的问题,请参考以下文章

使用LinkedList模拟一个堆栈或者队列数据结构

使用数组模拟普通队列,环形队列,(Java数据结构之队列)

java数据结构,一个案例带你用数组模拟队列,环形队列!

JAVA-初步认识-常用对象API(集合框架-LinkedList集合-练习栈堆和队列)

数组和链表的区别ArrayList和LinkedList的区别使用LinkedList模拟栈和队列

Java数据结构-队列