ArrayIndexOutOfBoundsException bei Verwendung des Iterators der ArrayList

Gerade jetzt, ich habe ein Programm mit einem Stück code, der wie folgt aussieht:

while (arrayList.iterator().hasNext()) {
     //value is equal to a String value
     if( arrayList.iterator().next().equals(value)) {
          //do something 
     }
}

Mache ich das richtige, soweit das Durchlaufen der ArrayList geht?

Den Fehler bin ich immer:

java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.ArrayList.get(Unknown Source)
    at main1.endElement(main1.java:244)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at main1.traverse(main1.java:73)
    at main1.traverse(main1.java:102)
    at main1.traverse(main1.java:102)
    at main1.main(main1.java:404)

Ich würde zeigen Sie den rest des Codes, aber es ist ziemlich umfangreich, und wenn ich nicht gerade die iteration richtig, ich würde davon ausgehen, die einzige Möglichkeit ist, dass ich nicht die Initialisierung der ArrayList richtig.

Kommentar zu dem Problem
In java 8 können Sie die forEach Methode: stackoverflow.com/questions/16635398/... Kommentarautor: Vitalii Fedorenko

InformationsquelleAutor der Frage This 0ne Pr0grammer | 2011-07-14

Schreibe einen Kommentar