- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- droidic: Időutazás floppyval: A 486-os visszavág PCem-men
- sziku69: Szólánc.
- gban: Ingyen kellene, de tegnapra
- Argos: Adjátok vissza a netet! - szeretnék elaludni!
- Geri Bátyó: Megint tahó voltam – SZEMÉLYISÉGFEJLŐDÉS
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Elektromos rásegítésű kerékpárok
- gerner1
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.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Eladó Használt realme 9 pro+ mobiltelefon (256 GB-os model)
- Xiaomi 14T Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
- Xiaomi 14 Ultra 512GB, Kártyafüggetlen, 1 Év Garanciával
- ÚJ Asus TUF - R5 7535HS, RTX 3050 és 16gb D5, 144Hz + 2 év GARANCIA
- Apple iPhone 13 Mini 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer Notebook! Acer Nitro 5! Csere-Beszámítás! I5 11400H / RTX 3050Ti / 16GB DDR4 / 500GB SSD!
- Gamer PC- Számítógép! Csere-Beszámítás! I7 4790K / 16GB DDR3 / RX 5700XT 8GB / 512GB SSD
- DOKKOLÓ BAZÁR! Lenovo, HP, DELL és egyéb más dokkolók (TELJES SZETTEK)
- Samsung Galaxy Tab A8 32GB, Újszerű, 1 Év Garanciával
- Bomba ár! HP EliteBook 840 G2 - i5-5GEN I 8GB I 256GB SSD I 14" HD+ I Cam I W10 I Garancia!
Állásajánlatok
Cég: FOTC
Város: Budapest