SORU
14 Temmuz 2011, PERŞEMBE


ArrayİndexOutOfBoundsException bir ArrayList zaman yineleme

Şimdi, bu gibi görünen bir program kod parçası içeren var:

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

Bu doğru yapıyor, bildiğim kadarıyla ArrayList geçer yineleme mıyım?

Alıyorum hata:

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)

Göstermek istiyorum gerisini kodu, ama oldukça geniş, ve eğer ben yapmıyorum tekerrür doğru, ben ki, bir ilişkinin tek yolu bu ben değilim başlatılıyor ArrayList düzgün.

CEVAP
19 EYLÜL 2012, ÇARŞAMBA


Kabul cevabı genellikle en iyi çözümdür ve kesinlikle daha kolay olduğunu kabul etmekle birlikte, kimse yineleyici uygun kullanım görüntülenen fark ettim. Burada hızlı bir örnek:

Iterator<Object> it = arrayList.iterator();
while(it.hasNext())
{
    Object obj = it.next();
    //Do something with obj
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BDGcustoms

    BDGcustoms

    24 NİSAN 2011
  • Lena Danya

    Lena Danya

    11 NİSAN 2010
  • RinconDynamic

    RinconDynami

    1 EKİM 2011