gpt4 book ai didi

java - CompareTo 与队列和链表

转载 作者:行者123 更新时间:2023-12-02 12:05:14 30 4
gpt4 key购买 nike

我只是在为即将到来的考试做一些复习。我发现了我们的讲师给我们提供的这段代码供我们修改。

代码:

public class Employee implements Comparable<Employee>{

private String name;
public Integer idNumber;

public Employee(String name,int idNumber){
this.name = name;
this.idNumber = idNumber;
}

public String toString(){
return this.name+": "+idNumber;
}
@Override
public int compareTo(Employee o) {
return this.idNumber.compareTo(o.idNumber);
}

public static void main(String args[]){

Queue<Employee> queue = newLinkedList<Employee>();

queue.add(new Employee("Carl",2));
queue.add(new Employee("Alice",1));
queue.add(new Employee("Bob",3));
queue.add(new Employee("Danny",4));

System.out.println(queue.peek());
System.out.println(queue.remove());
System.out.println(queue.remove());
System.out.println(queue.remove());
System.out.println(queue.peek());
System.out.println(queue.remove());
}
}

我们被要求写下控制台输出。我的猜测是:

Danny:4
Danny:4
Bob:3
Carl:2
Alice:1
Alice:1

这是错误的,当通过 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 进行排序

谢谢

最佳答案

您永远不会调用列表上的任何排序方法。因此,您的 compareTo 方法将被忽略。

关于java - CompareTo 与队列和链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46948346/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com