Hirdetés
Új hozzászólás Aktív témák
-
WonderCSabo
félisten
válasz
Aethelstone
#5472
üzenetére
Ez nem igaz. Nézzük csak meg pl. az ArrayList iterátorának a forráskódját:
public void remove() {
if (lastRet < 0)
throw new IllegalStateException();
checkForComodification();
try {
ArrayList.this.remove(lastRet);
cursor = lastRet;
lastRet = -1;
expectedModCount = modCount;
} catch (IndexOutOfBoundsException ex) {
throw new ConcurrentModificationException();
}
}Ez simán ráhív a ArrayList.this.remove(lastRet) -ra ami ténylegesen kitörli az elemet.
Vagy nézzük meg az Androidos implementációt:
public void remove() {
Object[] a = array;
int removalIdx = removalIndex;
if (modCount != expectedModCount) {
throw new ConcurrentModificationException();
}
if (removalIdx < 0) {
throw new IllegalStateException();
}
System.arraycopy(a, removalIdx + 1, a, removalIdx, remaining);
a[--size] = null; // Prevent memory leak
removalIndex = -1;
expectedModCount = ++modCount;
}Itt még egyértelműbben látszik, hogy az arraycopyval odébb mozgatja az egészet eggyel.
Az állításod már ott megbukott, hogy a "végén kikapja az elemeket". Milyen végén? Itt nincs semmi esemény, amihez ezt köthetni lehetne, in-place kell kitörölni az elemet.
-
kemkriszt98
tag
válasz
Aethelstone
#5472
üzenetére
Hát több szál nem, de egy másodlagos szál x másodpercenként hívogatja azt a metódust melyben az általam bemásolt kódrészlet is van és előfordulhat, hogy az egyik még nem ért véget mikor megint meghívódik... (vagy valami ilyesmi
)
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Lenovo Yoga 7 2-in-1 OLED Ryzen 5 8640HS 16GB /512SSD/1év gari
- Dobozos Asus VivoBook S 15 Laptop 15,6" -30% Snapdragon X Elite 32/1TB 3K OLED 120Hz
- Jó állapotú Playstation 2 SLIM SCPH-70005 csomag eladó!
- Emc CX4-4PDAE STORAGE- adattároló - 15X 3TB - Több db van
- BESZÁMÍTÁS! LENOVO ThinkPad P15 Gen2 munkaállomás - i7 11800H 16GB DDR4 512GB SSD Quadro T1200 4GB W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest
)

