java - 按对象的值对linkedList进行排序
问题描述
对于一项任务,我的任务是创建一个基于优先级的支持票证系统,其中包含用户的姓名、ID、处理程序和优先级,但是具有更高优先级的票证在要处理的列表中排在首位。
我有三个班。主要:我添加/删除和更改票证优先级的地方。TicketSystem:包含票证的构造函数以及 getter 和 setter 方法 LinkedList:具有插入、删除 printList 并且应该具有 sortList
到目前为止,我已经确定算法需要冒泡排序,因为 Priority 是一个 int 值,但我不太确定如何接收优先级的值然后对其进行排序。
public class TicketSystem {
private String handler;
private int priority;
private String iD;
private String creator;
public TicketSystem() {
}
public String getHandler ( ) {
return handler;
}
public int getPriority () {
return priority;
}
public String getID () {
return iD;
}
public String creator () {
return creator;
}
public void setID (String i) {
this.iD = i;
}
public void setHandler (String h) {
this.handler = h;
}
public void setPriority (int p ) {
this.priority = p;
}
public String setCreator (String c) {
return this.creator = c;
}
public void addTicket( String h, int p, String c, String iD) {
this.handler = h;
this.priority = p;
this.iD = iD;
this.creator = c;
}
@Override
public String toString() {
String output = "";
output += "Handler: " + handler +", ";
output += "Priority: " + priority + ", ";
output += "Creator: " + creator + ", ";
output += "ID: " + iD + " ";
return output;
}
}
public class LinkedList {
private Node head;
public LinkedList(TicketSystem ticket) {
head = new Node();
head.ticket = ticket;
head.link = null;
}
public boolean insertItem(TicketSystem ticket) {
Node n = new Node();
Node new_node;
new_node = head;
while (new_node.link != null) {
new_node = new_node.link;
}
n.ticket = ticket;
n.link = null;
new_node.link = n;
return true;
}
public void printList() {
Node z = head;
while (z!= null) {
System.out.println(z.ticket.toString());
z = z.link;
}
}
public boolean deleteItem(TicketSystem ticket) {
if(ticket.equals(head.ticket)) {
head = head.link;
return true;
} else {
Node prevNode = head;
Node curNode = head.link;
while(curNode != null && !(curNode.ticket == ticket)) {
prevNode = curNode;
curNode = curNode.link;
}
if(curNode != null) {
prevNode.link = curNode.link;
return true;
} else {
return false;
}
}
}
/* sort list */
public void sortList() {
TicketSystem ts = new TicketSystem();
}
class Node {
private TicketSystem ticket;
private Node link;
}
}
解决方案
推荐阅读
- r - 在 R 中保存工作,更改工作目录,我不断收到消息“权限被拒绝”
- python-3.x - Python Selenium如何在列表中从变量中分离数据
- javascript - 如何按顺序运行 fetch 语句?
- python - 检查重复文件版本并仅在 Python 中保留具有指定模式的最新文件
- flutter - 如何在我的 ValueNotifier 中使用 Dart 类的字段作为值?
- eclipse - 选择不包含编译单元
- c# - C# 从 HTML Body 解析 XML 并保存到文件
- arm - 奇怪的 ROS 安装行为
- android - Android Q 中的 Firebase 电话身份验证
- reactjs - 在我的项目中安装 antdesign 后如何修复 webpack 构建错误,bezierEasingMixin()?