Java 在两种情况下对节点进行排序?
只是刚开始学习java,就被困在这个问题上。Java 在两种情况下对节点进行排序?,java,list,sorting,nodes,Java,List,Sorting,Nodes,只是刚开始学习java,就被困在这个问题上。 假设我有一个没有特定顺序的员工列表(我将只使用其中的三个示例),我遍历该列表并创建一个节点排序链接,所有节点都包含名称和每周工资。这三个节点分别如下所示: (约翰,1000) (鲍勃,1000) (亚当,1000) 我想先按薪水排序,然后按名称的字母顺序排序,这样所有连接的节点看起来都像这样: (亚当,1000)(鲍勃,1000)(约翰,1000) 我还有一种方法可以提高工资,所以如果我要做像bobNode.increaseBy(200)这样的事情(
假设我有一个没有特定顺序的员工列表(我将只使用其中的三个示例),我遍历该列表并创建一个节点排序链接,所有节点都包含名称和每周工资。这三个节点分别如下所示: (约翰,1000)
(鲍勃,1000)
(亚当,1000) 我想先按薪水排序,然后按名称的字母顺序排序,这样所有连接的节点看起来都像这样: (亚当,1000)(鲍勃,1000)(约翰,1000) 我还有一种方法可以提高工资,所以如果我要做像bobNode.increaseBy(200)这样的事情(每次增加的数量总是相同的,即每次为每个名称调用该方法时增加200个),连接的节点将更新,类似这样 (鲍勃,1200)(亚当,1000)(约翰,1000) 有没有什么有效或简单的方法可以做到这一点?目前,我的节点类中有一个compareTo方法,它返回这个.name.compareTo(other.name),因此在我浏览员工列表时,节点按字母顺序排序。是否需要检查条件和排序 我在考虑做一些类似于if salary.compareTo(other.salary)==0的事情,而不是比较名称,但是由于节点已经存在于链接列表中,所以它实际上不起作用 先按字母顺序添加和排序节点,然后在调整节点的薪资时删除该节点并再次将其添加到正确的位置,怎么样 我的另一个想法与前一个类似,就是删除调整后的节点,并创建一个新的节点链表,其中包含按字母顺序排序的所有节点。在浏览完员工列表后,我将添加这些新节点。如果说我有一个20万名员工的名单,工资范围很广,因此我必须创建和迭代许多节点,这不是有点问题吗 我还想指出,工资可以增加,而不必先增加所有员工
任何帮助和想法都将不胜感激 你走得很对,我相信你想要的是类似于他们所说的“优先级队列”的东西。如果您还没有,我会对此进行研究,因为有很多代码示例可以指导您的实现