java队列使用-java 队列
java
Java 与队列和链接列表进行比较,java,Java,我正在为即将到来的考试复习。我偶然发现了我们的讲师给我们修改的代码代码:这是错误的,当通过Eclipse运行它时,结果是:Carl: 2Carl: 2Alice: 1Bob: 3Danny: 4Danny: 4谁能帮我解释一下我哪里出错了。我假设:@Overridepublic int compareTo(Employee o) {return this.idNumber.compareTo(o.idNumber);}从0到4按数字顺序排列ID谢谢您从未
我正在为即将到来的考试复习。我偶然发现了我们的讲师给我们修改的代码
代码:
这是错误的java队列使用,当通过Eclipse运行它时,结果是:
Carl: 2
Carl: 2
Alice: 1
Bob: 3
Danny: 4
Danny: 4
谁能帮我解释一下我哪里出错了。我假设:
@Override
public int compareTo(Employee o) {
return this.idNumber.compareTo(o.idNumber);
}
从0到4按数字顺序排列ID
谢谢
您从未调用列表中的任何排序方法。因此java队列使用,您的compareTo方法被忽略。
它的行为正确地像一个as它的基本规则一样
如果这是一个堆栈,而这是一个队列,您的猜测是正确的。队列是先进先出的FIFO数据结构,这意味着在本例中,首先添加的项将位于队列的顶部
peek返回队列中的第一个元素,这是添加的第一个元素,因为队列是FIFO。compareTo只比较对象,除非显式排序,否则不会在集合中进行排序。编辑:谢谢ytg,所以这里的compareTo方法在某种程度上是无用的?认真地说,在队列上排序!感谢您的帮助,最佳答案。欢迎来到开发者学习、分享和建立职业生涯的地方!寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参见:如何创建。使用编辑链接改进您的问题-不要通过评论添加更多信息。谢谢
Carl: 2
Carl: 2
Alice: 1
Bob: 3
Danny: 4
Danny: 4
@Override
public int compareTo(Employee o) {
return this.idNumber.compareTo(o.idNumber);
}