gpt4 book ai didi

java - Java中使用链表按ID号升序

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

所以我有一个项目列表,并为它们分配了随机 ID 号。然后将这些项目打印在列表中。我需要能够按升序打印它们。 LinkedList 类中的构造函数应调用一个方法来构建测试数据列表。这些应该按排序顺序添加到 LinkedList 中。以下是我需要编辑以使其工作的代码:

public boolean decideToInsert (Makeup ee) {
boolean decision = false;
//code goes here
return decision;

这是我的链表代码:

package model;
import java.util.LinkedList;
import java.util.ListIterator;

public class MakeupList {

private LinkedList <Makeup> makeList = new LinkedList<>();
public MakeupList(){
this.createMakeList();
this.printMakeList();
}
public void createMakeList(){
makeList.add(new Makeup("Natural Face", "Too Face"));

for (int i = 0; i<10; i++){
addMakeup (new Makeup ("Matte Lipstick", "MAC"));
}
}

public void addMakeup (Makeup newMake){
boolean makeupAdded = false;
boolean insertDecision = false;
ListIterator<Makeup> makeIterator = makeList.listIterator();
while (makeIterator.hasNext()){
insertDecision = makeIterator.next().decideToInsert(newMake);
if (insertDecision == true){
makeList.add(makeIterator.previousIndex(), newMake);
makeupAdded = true;
break;
}
}
if(!makeupAdded){
makeList.add(newMake);
}
}
public void printMakeList(){
ListIterator<Makeup> makeIterator = makeList.listIterator();
while(makeIterator.hasNext()){
System.out.println(makeIterator.next().toString());
}
}
}

以下是当前打印内容的示例:妆容:自然脸 脸部ID:1

彩妆:哑光口红 MAC ID:1

彩妆:哑光口红 MAC ID:0

彩妆:哑光口红 MAC ID:2

彩妆:哑光口红 MAC ID:37

彩妆:哑光口红 MAC ID:10

妆容:哑光唇膏 MAC ID:21

彩妆:哑光口红 MAC ID:34

彩妆:哑光口红 MAC ID:8

彩妆:哑光口红 MAC ID:33

妆容:哑光口红 MAC ID:19

最佳答案

你的代码很复杂。您只需将 id 添加到 Makeup 模型中,并通过比较器进行 java 流排序。更多详细信息在这里:java 8, Sort list of objects by attribute without custom comparator

关于java - Java中使用链表按ID号升序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59110088/

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