【发布时间】:2014-03-16 22:26:19
【问题描述】:
假设我有一个大小为 [10] 的数组,当该数组被填满时,我想实现一个 FIFO 结构,而不是仅仅将其填满,因此无法向数组中添加新内容并丢弃老的。
例如,如果我有一个包含汽车制造商的字符串数组,并且当我的数组中有 10 个制造商时,我希望删除最旧的条目并添加最新的条目,但要牢记 FIFO。我将如何在这样的方法中实现它:
public void insert(String name)
{
int a;
a = (rear + 1) % names.length;
if(a == front)
{
System.out.println("Full Queue!");
}
else
{
rear = a;
names[rear] = name;
if(front == -1)
{
front = 0;
}
}
}
【问题讨论】:
-
一个队列已经 FIFO,因此如果队列已满,您只需“获取”一个元素并“插入”一个元素。 java中有一个可用的队列:easywayserver.com/blog/java-queue-example
-
你需要自己实现逻辑,还是允许在Java中使用队列结构?
-
我需要自己实现逻辑。所以没有预定义的结构
-
@user2298680 查看下面实现的
LinkedList。 JavaQueue实际上是基于LinkedList引擎盖下的