Collections ListIterator gibt Inhalt von ArrayList nicht aus

Hallo,

über eine while-Schleife habe ich Daten aus einer Datei gelesen und im gleichen Schritt in ein ArrayList eingelesen (Zeile 60).
Anschließend möchte ich den Inhalt meiner ArrayList wiedergeben (Zeile 75+76).

Aber es funktioniert nicht (java.util.ConcurrentModificationException). Ich hab mich schon wegen dieser Exception im Forum umgesehen und einen Rat hier eingebaut: Die Daten werden schon nicht mehr über einen Iterator, sondern bereits über einen ListIterator eingelesen. Aber es hilft nicht. Die Exception bleibt.

Java:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.util.*;

import static java.lang.System.*;


import org.apache.commons.lang.StringUtils;

public class MainClass {
    public static void main(String[] args) {

      StringUtils.containsNone("ABCD", "!@#$%^&*");
  
      String alpha = "Body__53461.wrl";
      String Zwischenstring1 = "Zwischen-String.dat";
      File VRMLFileName = new File(alpha);

  	  CharSequence PointMarker = "point [";
  	  CharSequence PointMarkerEnd = "]";
  	  CharSequence FinalEnd = "] }";
  	  
      //Array List for all surfaces 				
  	   ArrayList<String> AllAreas_1 = new ArrayList<String>();
  	   ListIterator<String> listIter =  AllAreas_1.listIterator();
		
  		try
  		{  				
   		  BufferedWriter fw2 = new BufferedWriter(new FileWriter(Zwischenstring1, true)); 
  		  BufferedReader singleVRMLread2 = new BufferedReader(new FileReader(alpha));

  		  boolean offen = false;
  		   
  	  while (singleVRMLread2 != null)
  	  {		
  		  String zeile = singleVRMLread2.readLine();
  		  
  		  offen = false;
  		  
  		 if (zeile.contains(PointMarker))
  		 {	
  			 offen = true;
  	     }	
  		 
  		 if (zeile.contains(FinalEnd))
  			 break;
 
  		 String zeile2 = zeile;
   		  
  		 if(offen == true )
  		 {  while (StringUtils.containsNone(zeile2,"]") == true)
  			 
  		  	{zeile2 = singleVRMLread2.readLine();	
	  		System.out.println(zeile2);
	  		AllAreas_1.add(zeile2);
	  		
	  	    System.out.println("Press Enter to continue...");  
	  	    System.in.read();  
  		  	}
	  	 } 
      }
 
  		 {offen = false; }  		 	
 	  
  	 }
  		 catch (IOException ioex)
    	 {System.out.println(ioex.getMessage());
    	 }
  		
  	while (listIter.hasNext())
  		   System.out.println(listIter.next());

    }  }

Könnte mir da jemand weiter helfen, bitte?
 

hexx

Mitglied
Ein Blick in's Javadoc hilft weiter:
The iterators returned by this class's iterator and listIterator methods are fail-fast: if the list is structurally modified at any time after the iterator is created, in any way except through the iterator's own remove or add methods, the iterator will throw a ConcurrentModificationException. Thus, in the face of concurrent modification, the iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the future.

Sobald man die zu Grunde liegende Liste ändert wird ein bestehender Iterator ungültig. Das machst du in Zeile 60. Den Iterator also nicht "auf Vorrat" ganz am Anfang anlegen, sondern erst wenn du ihn brauchst.
 
Du hast Recht. Wenn ich die Deklaration/Definition direkt vor dem Ausdrucken (also am Ende) durchführe, funktioniert es.

Java:
   	   ListIterator<String> listIter =  AllAreas_1.listIterator();

             	while (listIter.hasNext())
                System.out.println(listIter.next());
 
Du hast Recht. Wenn ich die Deklaration/Definition direkt vor dem Ausdrucken (also am Ende) durchführe, funktioniert es.

Java:
   	   ListIterator<String> listIter =  AllAreas_1.listIterator();

             	while (listIter.hasNext())
                System.out.println(listIter.next());

Danke!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R ListIterator über mehrere Arrays Allgemeine Java-Themen 13
F ListIterator (next & previous methoden) Allgemeine Java-Themen 5
deetee ListIterator implementieren Allgemeine Java-Themen 3
E Einfache Frage zu ListIterator Allgemeine Java-Themen 10
berserkerdq2 Gibt es eine saubere Dokumentation von Jfoenix? Allgemeine Java-Themen 1
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
E Class.getResourceAsStream() gibt null zurück Allgemeine Java-Themen 2
Tiago1234 CellReference cr = new CellReference("") gibt den falschen Wert zurück Allgemeine Java-Themen 49
F Gibt es mittlerweile eine Alternative zu DaisyDiff Allgemeine Java-Themen 2
Jose05 Gibt es einen Nachteil bei dem JDK 8? Allgemeine Java-Themen 7
H Apache fop -- welche Möglichkeit gibt es um den Fortschritt anzuzeigen (Progressbar) Allgemeine Java-Themen 5
M Warum gibt es Unterschiedliche Kommentar Zeichen Allgemeine Java-Themen 15
Tobero Eclipse Window builder gibt es da sowas wie @ignore? Allgemeine Java-Themen 1
pkm javax.script.ScriptEngineManager gibt mir keine Engine Allgemeine Java-Themen 4
M Openjdk - gibt es auch eine Openjre? Allgemeine Java-Themen 7
Zrebna Gibt es eine Möglichkeit eine NPE zu vermeiden, wenn null returned wird? Allgemeine Java-Themen 3
S Gibt es eine Moeglichkeit die Runtime Ausführung zu analysieren..? Allgemeine Java-Themen 7
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
F Überprüfen ob es Überschneidungen von Uhrzeiten (vom Typ Calendar) gibt Allgemeine Java-Themen 10
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
X Collections Gibt es eine Klasse welche die Vorteile von List und HashMap vereint, aber konstante Laufzeit (O(1)) hat in Java? Allgemeine Java-Themen 4
LimDul Spezifkation, wann es deprecation Warnings gibt Allgemeine Java-Themen 1
C Variablen == gibt immer false aus. Allgemeine Java-Themen 2
E gibt es BigDouble in Java ? Allgemeine Java-Themen 14
S Gibt es eigentlich Java Source Code Interpreter..? Allgemeine Java-Themen 13
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
R JDK installieren Gibt es ab 2019 überhaupt noch Java? Allgemeine Java-Themen 6
P JSpinner gibt leeren Wert zurück Allgemeine Java-Themen 5
B Gibt es eine Funktion die den Datentyp einer Variablen ermittelt? Allgemeine Java-Themen 8
N Gibt es etwas allgemeineres as Object? Allgemeine Java-Themen 16
T Input/Output Konsole gibt trotz printf keine Umlaute aus Allgemeine Java-Themen 17
H NetBeans geotools 15 oder 16 - welche Abhängingkeiten gibt es? Welche Jars brauche ich? Allgemeine Java-Themen 4
P Prüfen ob es Variable mit Namen gibt der als String übergeben wird Allgemeine Java-Themen 7
S Welche Java Techologien gibt es fürs Frontend Allgemeine Java-Themen 4
V Gibt es eine Möglichkeit die Internet auslastung mit Java auszulesen Allgemeine Java-Themen 11
L Gibt es in Java einen Property Editor? Allgemeine Java-Themen 2
S gibt testText nicht aus Allgemeine Java-Themen 3
R Es gibt keine dummen Fragen (hab ich mal gehört) Allgemeine Java-Themen 11
L Methoden Methode gibt mir beim verschlüsseln mit RSA 0 bytes aus ? Allgemeine Java-Themen 1
H Gibt es einen großen Unterschied zwischen Java 6 und Java 7? Allgemeine Java-Themen 3
L Konsole gibt Smileys aus Allgemeine Java-Themen 3
K Gepacktes Jar-File gibt beim Doppelklick eine Exception aus Allgemeine Java-Themen 4
G Threads Gibt es eine Möglichkeit des Nichtblokierens? Allgemeine Java-Themen 5
C Vergleich von Enums gibt inkorrekte Werte Allgemeine Java-Themen 6
Jats Programm mit CMD Befehl hängt sich auf oder gibt error = 5 aus Allgemeine Java-Themen 4
V Gibt es einen Variablen Cast? Allgemeine Java-Themen 8
R JNI if abfrage gibt immer false zurück. Allgemeine Java-Themen 7
J Eclipse Elipse gibt mir keine Vorschläge mehr :( Allgemeine Java-Themen 6
G Gibt es so eine SortedMap? Allgemeine Java-Themen 21
Z Boolean Abfrage gibt kein Boolean zurück, aber warum? Allgemeine Java-Themen 6
J Warum gibt es keinen Webbrowser auf Java-Basis? Allgemeine Java-Themen 8
E Gibt es Befehle für Kursor auf Konsole ? Allgemeine Java-Themen 3
J Logger gibt nicht alle Level aus Allgemeine Java-Themen 3
B Gibt es einen Unterschied zwischen Java 1.2 und Java 2? Allgemeine Java-Themen 7
J Calendar gibt falsche Wochenanzahl zurück Allgemeine Java-Themen 3
E Gibt es so etwas wie einen Windows Listener? Allgemeine Java-Themen 6
M Gibt es ein Jar - das alle Componente Automatisch anpasst? Allgemeine Java-Themen 14
R Gibt es eine JVM, die besser mit dem Speicher umgeht? Allgemeine Java-Themen 7
G Jarfile gibt keine Textnachrichten aus Allgemeine Java-Themen 2
S [1/2done] Woher bekommt man libarys die es erst ab 1.6 gibt. Allgemeine Java-Themen 10
G Gibt es etwas ähnliches wie den ReadKey bei Pascal? Allgemeine Java-Themen 3
D Gibt es indizierte Arrays in Java? Allgemeine Java-Themen 3
S Decimalformat gibt falsche Werte aus Allgemeine Java-Themen 3
G Da Jikes nicht mit java 5 geht, gibt es eine andere. Allgemeine Java-Themen 4
M Gibt es eigentlich einen Standalone-Java-ICQ-clone Allgemeine Java-Themen 19
M Gibt es ein Foren-System, dass in Java programmiert ist? Allgemeine Java-Themen 51
N char.At gibt Zeichenkette aus. aber leider 2x Allgemeine Java-Themen 10
G was gibt es für mögliche datenbanken? Allgemeine Java-Themen 6
TRunKX Gibt es ne fertige Java Funktion die Dateien vergleicht? Allgemeine Java-Themen 4
S auf einmal gibt es einen fehler. Allgemeine Java-Themen 3
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
G JTextField Inhalt in einem Long einfügen Allgemeine Java-Themen 2
KeVoZ_ JSoup - Website Inhalt/Element mit String vergleichen Allgemeine Java-Themen 2
A Collections Inhalt einer Liste mit Inhalt anderer Liste vergleichen ? Allgemeine Java-Themen 7
T String auf Inhalt bzw. Schema überprüfen Allgemeine Java-Themen 12
T Threads Input/Output im Thread - Datei ohne Inhalt Allgemeine Java-Themen 1
I Inhalt einer Website auslesen Allgemeine Java-Themen 6
L Input/Output Datei einlesen und Inhalt in Array schreiben Allgemeine Java-Themen 3
U JNI -> Inhalt dll zugreifen Allgemeine Java-Themen 5
S leeres package obwohl inhalt da Allgemeine Java-Themen 53
Iron Monkey Inhalt von JTable in die Textdatei mit StringWidth schreiben Allgemeine Java-Themen 3
A Excel nach bestimmten Inhalt durchsuchen Allgemeine Java-Themen 8
U Webseiten Inhalt auslesen... Allgemeine Java-Themen 7
D File mit Inhalt kopieren und dieses File dann neu erstellen ? Allgemeine Java-Themen 4
I Webseite auslesen (welche mittels Javascript Inhalt einbindet) Allgemeine Java-Themen 4
D Eclipse Kein Zugriff auf Inhalt einer referenzierten .jar Allgemeine Java-Themen 5
N Objekte aus Array Inhalt erzeugen Allgemeine Java-Themen 8
C JFormattedTextField Inhalt einer Variable zuweisen Allgemeine Java-Themen 11
J XML Inhalt von Web abfragen Allgemeine Java-Themen 6
W Inhalt aus String evaluieren Allgemeine Java-Themen 6
E Regex HTML Tag und Inhalt löschen Allgemeine Java-Themen 4
S Inhalt einer zip-Datei anzeigen Allgemeine Java-Themen 11
A Inhalt ListEditor und Buttons ausblenden Allgemeine Java-Themen 5
Y Excel datei einlesen und inhalt verarbeiten Allgemeine Java-Themen 8
D Inhalt der JTextArea drucken Allgemeine Java-Themen 2
J Inhalt von HashMap vergleichen Allgemeine Java-Themen 3
T Bestimmten Inhalt aus Manifest.MF auslesen Allgemeine Java-Themen 8
F JFrame zeigt Hintergrund und nicht den Inhalt Allgemeine Java-Themen 12
T (Binary)Datei einlesen, Inhalt ändern, Datei schreiben Allgemeine Java-Themen 4
O Inhalt vom JTextfield im DebugMode ermitteln? Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben