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

2025-06-22 11:08:09
推荐回答(2个)
回答1:

import java.util.LinkedList;

public class Demo01 {
private LinkedList linkedList;

public Demo01() {
linkedList = new LinkedList();
}

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

回答2:

本来就是一个实现了的队列,它是链表的方式。

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

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

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

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