Iterator ArrayListissä, HashMap-luokat ovat esimerkkejä epäonnistuneesta Iteratorista. … Tämä johtuu siitä, että ne toimivat kokoelman kloonilla, eivät alkuperäisellä kokoelmalla, ja siksi niitä kutsutaan vikaturvallisiksi iteraattoreiksi. Iterator CopyOnWriteArrayListissä, ConcurrentHashMap-luokat ovat esimerkkejä virheettömästä Iteratorista.
Onko iteraattori vikaturvallinen Javassa?
Javan iteraattoria käytetään kokoelman objektien kulkemiseen. Kokoelmat palauttavat kahden tyyppisiä iteraattoreita, joko se on Fail Fast tai Fail Safe. Fail Fast -iteraattorit heittävät välittömästi ConcurrentModificationExceptionin, jos kokoelmaan tehdään rakenteellisia muutoksia.
Mikä on vikaturvallinen ja nopea Javassa?
Epäonnistunut. 1. Poikkeus. Kaikki muutokset kokoelmassa, kuten kokoelman lisääminen, poistaminen ja päivittäminen säikeen aikana, ovat toistuvaa kokoelmaa ja Fail fast heittää samanaikaisen muokkauksen poikkeusta. Vikaturvallinen kokoelma ei tee poikkeusta.
Onko luetteloiteraattori nopea?
ArrayList-iteraattorin ja listIterator-menetelmien palauttamat -iteraattorit ovat nopeita: jos luetteloa muutetaan rakenteellisesti milloin tahansa iteraattorin luomisen jälkeen, millään tavalla paitsi iteraattorin omia poisto- tai lisäämismenetelmiä, iteraattori heittää ConcurrentModificationExceptionin.
Onko ArrayList epäonnistunut?
ArrayListin iteraattori epäonnistuu nopeasti, joten kun oletiterointi ArrayListin yli käyttäen Iteraattoria, jos taustalla olevaa ArrayListiä muokataan jollakin muulla menetelmällä kuin lisäämällä ja poistamalla, jonka Iterator itse tarjoaa, se heittää ConcurrentModificationExceptionin ja pelastaa.