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?:))
- sziku69: Fűzzük össze a szavakat :)
- Pécs és környéke adok-veszek-beszélgetek
- Android alkalmazások - szoftver kibeszélő topik
- Fotók, videók mobillal
- Fogyjunk le!
- iPhone topik
- Fejhallgató erősítő és DAC topik
- Milyen routert?
- Debrecen és környéke adok-veszek-beszélgetek
- Milyen autót vegyek?
- További aktív témák...
- ROG Strix GeForce RTX 4080 16GB GDDR6X OC Edition
- Ryzen 7 5700X / RX 7700 XT 12GB / B550M WIFI / 32GB RAM 3600MHz / 1TB NVMe SSD / 650W GOLD
- Samsung Galaxy S24+ 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Razer BlackWidow V4 PRO 75% - US + AJÁNDÉK RAZER VIPER V3 PRO
- Bomba ár! Dell Latitude E4310 - i5-520M I 4GB I 160GB I 13,3" I DP I Cam I W10 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Ducky One 3 FULL/TKL/SF/MINI billentyűzetek többféle színben és kapcsolókkal, plusz csuklótámaszok
- Új MSI 15 Katana FHD IPS 144Hz i7-13620H 10mag 16GB DDR5 1TB SSD Nvidia RTX 4060 8GB Win11 Garancia
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AY Universal USB-C Dock
- AKCIÓ! 4TB Corsair MP600 Pro XT NVMe SSD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
)
