2024 Szerző: Mildred Bawerman | [email protected]. Utoljára módosítva: 2023-12-16 08:39
Számlálás vs Iterator
Számos adatstruktúra működik gyűjteményként a Java-ban, mint például a Vektorok, a Hash táblák és a Java Gyűjtemények keretrendszert megvalósító osztályok (pl. HashMap, HashSet, ArrayList, TreeSet, TreeMap, LinkedList, LinkedHashMap és LinkedHashSet). Számos módon lehet iterálni a Java objektumainak egyes elemein. A Java két interfészt biztosít a feladat megkönnyítésére. A felsorolás és az Iterator a java.util csomagban található két interfész, amelyek funkcionalitást kínálnak a sorozatok vagy objektumok sorozatokon keresztüli felsorolásához. Az Enumerator a JDK 1.0-ban, az Iterator pedig a JDK 1.2-ben került bevezetésre, amely gyakorlatilag megismétli a Enumerator funkcióit (a Gyűjtemények keretrendszerén belül).
Mi az a felsorolás?
Az Enumeration egy nyilvános felület a Java-ban, amelyet a JDK 1.0-ban vezettek be, és amely lehetővé teszi az elemek sorozatainak felsorolását. A java.util csomag alatt található. Amikor a felsorolási felületet egy objektum valósítja meg, ez az objektum az elemek sorozatát generálhatja. A felsorolási felületnek két módszere van. A hasMoreElements () metódus teszteli, hogy ez a felsorolás tartalmaz-e további elemeket, és a nextElement () visszaadja a sorozat következő elemét (ha még legalább egy van hátra). Más szavakkal, a nextElement () egymás utáni meghívásával a programozó hozzáférhet a sorozat egyes elemeihez. Például a Vector v1 összes elemének az Enumerator használatával történő kinyomtatásához a következő kódrészlet használható.
E = v1.elemek felsorolása ();
Míg (e.hasMoreLements ()) {
System.out.println (e.nextElement ());
}
A számláló használható a SequenceInputStream objektumok bemeneti adatfolyamának meghatározására is.
Mi az Iterator?
Az Iterator egy nyilvános felület a Java.util csomagban, amely lehetővé teszi a gyűjtemény objektumok olyan elemei közötti iterációt, amelyek megvalósítják a Gyűjtemény keretrendszert (például ArrayList, LinkedList stb.). Ezt a JDK 1.2-ben vezették be, és a Java Gyűjtemények keretrendszerében felváltotta a számlálót. Az Iteratornak három módszere van. A hasNext () módszer teszteli, hogy vannak-e még elemek a gyűjteményben, és a következő () metódus a sorozat következő elemét adja vissza. Az remove () metódus használható az aktuális elem eltávolítására az alapul szolgáló gyűjteményből. Például a Vector v1 összes elemének az Iterator használatával történő kinyomtatásához a következő kódrészlet használható.
Iterátor i = v1.elemek ();
Míg (i.hasNext ()) {
System.out.println (e.next ());
}
Mi a különbség az Enumeráció és az Iterator között?
Noha az Enumeration és az Iterator a java.util csomagban található két interfész, amelyek lehetővé teszik az iterációt / felsorolást egy sorozat elemein keresztül, megvannak a maguk különbségei. Valójában az Enteration után bevezetett Iterator helyettesíti az Enumerációt a Java gyűjtemények keretein belül. A felsorolással ellentétben az Iterator hibamentes. Ez azt jelenti, hogy az Iterator használatakor (az alapul szolgáló gyűjtemény) egyidejű módosítások nem megengedettek. Ez nagyon hasznos többszálas környezetben, ahol mindig fennáll az egyidejű módosítások veszélye. Párhuzamos módosítás esetén az Iterator objektum dob egy ConcurrentModificationException-t. Az Iteratornak rövidebb metódusnevei vannak az Enumeratorhoz képest. Továbbá,Az iterator további funkcióval rendelkezik az elemek törlésével az iteráció során (ami nem lehetséges az Enumerator használatával). Tehát, ha el kell távolítani az elemeket a gyűjteményből, az Iterator az egyetlen megfontolható lehetőség.
Ajánlott:
Különbség A Fázis Különbség és Az út Különbség Között
Fáziskülönbség vs útbeli különbség A fáziskülönbség és az útkülönbség az optika két nagyon fontos fogalma. Ezeket a jelenségeket a
Különbség Az Android Okostelefonok Között A Samsung Epic 4G és A HTC EVO 4G Között
Android okostelefonok A Samsung Epic 4G és a HTC EVO 4G között a Samsung Epic 4G és a HTC Evo 4G az első okostelefon, amely a 4G hálózaton fut. A küzdelemben
Különbség A Szemüveg Között Az Ingyenes 3D Telefon LG Optimus 3D és Az LG Revolution 4G Telefon Között
Szemüveges 3D telefon LG Optimus 3D vs LG Revolution 4G Phone First Szemüveges ingyenes 3D telefon LG Optimus 3D és LG Revolution 4G két csúcskategóriás telefon, sok
Különbség Az Android 4G Telefonok Között A Motorola Droid Bionic és A HTC Thunderbolt Között
Android 4G telefonok Motorola Droid Bionic vs HTC Thunderbolt A Motorola Droid Bionic és a HTC Thunderbolt az Android 4G telefonok közül kettő, amelyeket bemutattak
Különbség Az Eritrociták Között A Leukociták és A Trombociták Között
Fő különbség - Eritrociták vs leukociták vs trombociták A vérszövet különböző típusú sejtekből és komponensekből áll. Fontos elem