Arrays vergleichen und Fehlinhalt ausgeben

Chasor

Aktives Mitglied
Gibt es eine einfache Möglichkeit, zwei String[] Arrays auf ihre Inhalte hin zu überprüfen und den Inhalt, der in einem der Arrays fehlt, auszugeben?
 
Hallo,

du musst für jedes Element in array_1 prüfen, ob es in array_2 existiert.

Das geht über 2 for schleifen und ist sehr einfach.

Gruß,

Martin
 
Problem ist, dass die Arrays unterschiedliche Längen haben, das Array, dem ein Element fehlt, ist eben um 1 kleiner, somit könnte man bei zwei for-next-Schleifen keinen Vergleich machen (arrayoutofblabla-exception).
 
Überlege mal wie dh das losen wurdest als Mensch. Du nimmst dir ein Element aus dem einen und gehst für jedes Element im anderen durch und guckst ob eins gleich ist. Wenn in dem einen nur eins ist und in dem anderen hundert dann nimmst du dir ddoch nur das eine und vergleichst es hundert mal.

Dafür müssen die Arrays also nicht gleich lang sein.
 
oder sortier die beiden und dann geh sie durch...wenn die beiden an der stelle x nicht gleich sind ist was faul. (beim zweiten mal aber x+1 und x, usw)
 
Gibt es eine einfache Möglichkeit, zwei String[] Arrays auf ihre Inhalte hin zu überprüfen und den Inhalt, der in einem der Arrays fehlt, auszugeben?

Mit was flexiblerem als mit Arrays zu arbeiten:
Java:
	String[] array1 =  {"A", "C", "D", "E"};
	String[] array2 =  {"B", "A", "D", "F"};
	ArrayList<String> list1 = new ArrayList<String>(java.util.Arrays.asList(array1));
	ArrayList<String> list2 = new ArrayList<String>(java.util.Arrays.asList(array2));
	list2.removeAll(list1);
	
	System.out.println("Folgende Inhalte aus der Menge " + java.util.Arrays.toString(array2));
	System.out.println("sind in der Menge " + java.util.Arrays.toString(array1) + " nicht enthalten:");
	for (int i=0; i<list2.size(); i++)
		System.out.println(list2.get(i));
 

Zurück
Oben