To jest część mojego kodu.Problem Java ArrayList.remove()
Integer keyLocation = reducedFD.indexOf(KeyPlus.get(KEYindex));
someArrayList.remove(keyLocation);
Więc co ja robię tu ja przypisać KeyLocation (pierwsze wystąpienie ciągu znaków w reducedFD ArrayList). Ale kiedy chcę usunąć z someArrayList element z tą keyLocation, to nie zadziała.
Gdybym wprowadzane ręcznie:
someArrayList.remove(0); //Let's say 0 is the actual keyLocation
to faktycznie działa.
Co jest dziwne jest to, że podany kod działa również:
someArrayList.remove(keyLocation + 1);
Wszelkie wskazówki?
Oto główne pętla:
for (int KEYindex = 0; KEYindex < KeyPlus.size(); KEYindex++){
Integer keyLocation = reducedFD.indexOf(KeyPlus.get(KEYindex));
if (reducedFD.contains(KeyPlus.get(KEYindex))){
KeyPlus.add(reducedFD.get(keyLocation+1));
CheckedAttributesPlus.add(KeyPlus.get(KEYindex));
reducedFD.remove(keyLocation);
}
}
Co to znaczy „nie zadziała”?Komputer uruchamia się ponownie, jak zakładam? –
Przez "to nie zadziała", to znaczy, że w ogóle go nie usuwa. Ignoruje to. – user461316
Czy możesz umieścić swój kod nieco bardziej szczegółowy? Trochę więcej kodu .. – pringlesinn