Java 如何替换logolost中的子列表

Java 如何替换logolost中的子列表,java,netlogo,Java,Netlogo,我有一个标识列表,如: [[(turtle 0) 91.21412595730608] [(turtle 1) 76.89996795823208] [(turtle 2) 72.61621123351073] [(turtle 3) 71.23366936658486] [(turtle 5) 69.5448418866364]] 我需要用新的标识列表替换其中一个子列表,比如我必须替换: [(turtle 0) 91.21412595730608] 与: 我正在尝试使用以下代码进行更改:

我有一个标识列表,如:

[[(turtle 0) 91.21412595730608] [(turtle 1) 76.89996795823208] [(turtle 2) 72.61621123351073] [(turtle 3) 71.23366936658486] [(turtle 5) 69.5448418866364]]
我需要用新的标识列表替换其中一个子列表,比如我必须替换:

[(turtle 0) 91.21412595730608]
与:

我正在尝试使用以下代码进行更改:

private LogoList replaceItem(LogoList euclideanDistance, LogoListBuilder innerEuclDist, Turtle s) {
    ListIterator<Object> listIterator = euclideanDistance.listIterator();
    int idx = 0;
    while (listIterator.hasNext()) {
        LogoList next = (LogoList) listIterator.next();
        Turtle get = (Turtle) next.get(0);
        if (get.equals(s)) {
            return euclideanDistance.replaceItem(idx, innerEuclDist.toLogoList());
        }
        idx += 1;
    }
    return null;
}
private logolost replaceItem(logolost euclideAndInstance、logolostBuilder innerEuclDist、Turtle s){
ListIterator ListIterator=euclideAndInstance.ListIterator();
int-idx=0;
while(listIterator.hasNext()){
Logolost next=(Logolost)listIterator.next();
海龟get=(海龟)next.get(0);
如果(得到等于){
返回euclideAndInstance.replaceItem(idx,innerEuclList.toLogoList());
}
idx+=1;
}
返回null;
}

但是我想知道是否有更聪明/快速的解决方案。

您可以根据您的代码进行删除、添加或使用替换所有操作。我看不出有任何改进的余地。

您可以只列出一个元素。追求代码的可读性。随后将有表演。
private LogoList replaceItem(LogoList euclideanDistance, LogoListBuilder innerEuclDist, Turtle s) {
    ListIterator<Object> listIterator = euclideanDistance.listIterator();
    int idx = 0;
    while (listIterator.hasNext()) {
        LogoList next = (LogoList) listIterator.next();
        Turtle get = (Turtle) next.get(0);
        if (get.equals(s)) {
            return euclideanDistance.replaceItem(idx, innerEuclDist.toLogoList());
        }
        idx += 1;
    }
    return null;
}