List wird nicht richtig gefüllt

Hatschi

Aktives Mitglied
Ich beginne an mir zu zweifeln...:

Java:
List<int[]> bijections = new Vector<int[]>();
		
		if(check(START)) bijections.add(START);
		int x;
		for(x=0; END[x]==0; x++) {}
			
		int[] c = START;
		int i = 0;
		boolean end = false;
		while(i!=MOD && !end) {
			if(c[MOD-1-i]!=MOD-1) {
				if(c[x]==END[x]) {
					int j;
					for(j=END[x]; j<MOD && c[j]==END[j]; j++) {}
					if(j==MOD-1) end = true;
				}
				c[MOD-1-i]++;
				i = 0;
			} else {
				c[MOD-1-i] = 0;
				i++;
				continue;
			}
			if(check(c)) bijections.add(c);
		}
		if(check(END)) bijections.add(END);
Dieser Code soll mir Bijektionen in Körpern finden. Es get um die Zeilen:
Code:
if(check(START)) bijections.add(START);
Code:
if(check(c)) bijections.add(c);
Code:
if(check(END)) bijections.add(END);
An diesen Stellen werden die richtigen Funktionen gefunden (wie mir System.out.println() bestätigt), in meine Liste (bijections) werden die Richtigen eingetragen so dass am Ende meine Ausgabe so aussehen sollte:
Code:
0 1 3 3 3  id: 0
0 1 3 3 4  id: 1
0 1 4 2 0  id: 2
0 1 4 2 1  id: 3
0 1 4 2 2  id: 4
0 1 4 2 3  id: 5
0 1 4 2 4  id: 6
0 2 0 0 0  id: 7
0 2 0 0 1  id: 8
0 2 0 0 2  id: 9
0 2 0 0 3  id: 10
0 2 0 0 4  id: 11
0 2 1 1 0  id: 12
0 2 1 1 1  id: 13
0 2 1 1 2  id: 14
0 2 1 1 3  id: 15
0 2 1 1 4  id: 16
0 2 2 4 0  id: 17
0 2 2 4 1  id: 18
0 2 2 4 2  id: 19
0 2 2 4 3  id: 20
0 2 2 4 4  id: 21
tatsächlich siehts aber so aus:
Code:
0 2 3 0 1 
0 2 3 0 1 
0 2 3 0 1 
0 2 3 0 1 
0 2 3 0 1 
0 2 3 0 1 
0 2 3 0 1 
0 2 3 0 1 
0 2 3 0 1 
0 2 3 0 1
Abgesehen davon, dass diese Funktion darin gar nicht auftauchen darf scheint meine Liste jedesmal komplett überschrieben zu werden:
Code:
0 1 3 3 4 
0 1 3 3 4 

0 1 4 2 0 
0 1 4 2 0 
0 1 4 2 0 

0 1 4 2 1 
0 1 4 2 1 
0 1 4 2 1 
0 1 4 2 1 

0 1 4 2 2 
0 1 4 2 2 
0 1 4 2 2 
0 1 4 2 2 
0 1 4 2 2 

0 1 4 2 3 
0 1 4 2 3 
0 1 4 2 3 
0 1 4 2 3 
0 1 4 2 3 
0 1 4 2 3 

0 1 4 2 4 
0 1 4 2 4 
0 1 4 2 4 
0 1 4 2 4 
0 1 4 2 4 
0 1 4 2 4 
0 1 4 2 4 

0 2 0 0 0 
0 2 0 0 0 
0 2 0 0 0 
0 2 0 0 0 
0 2 0 0 0 
0 2 0 0 0 
0 2 0 0 0 
0 2 0 0 0 

0 2 0 0 1 
0 2 0 0 1 
0 2 0 0 1 
0 2 0 0 1 
0 2 0 0 1 
0 2 0 0 1 
0 2 0 0 1 
0 2 0 0 1 
0 2 0 0 1 

0 2 0 0 2 
0 2 0 0 2 
0 2 0 0 2 
0 2 0 0 2 
0 2 0 0 2 
0 2 0 0 2 
0 2 0 0 2 
0 2 0 0 2 
0 2 0 0 2 
0 2 0 0 2 

0 2 0 0 3 
0 2 0 0 3 
0 2 0 0 3 
0 2 0 0 3 
0 2 0 0 3 
0 2 0 0 3 
0 2 0 0 3 
0 2 0 0 3 
0 2 0 0 3 
0 2 0 0 3 
0 2 0 0 3 

0 2 0 0 4 
0 2 0 0 4 
0 2 0 0 4 
0 2 0 0 4 
0 2 0 0 4 
0 2 0 0 4 
0 2 0 0 4 
0 2 0 0 4 
0 2 0 0 4 
0 2 0 0 4 
0 2 0 0 4 
0 2 0 0 4 

0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 
0 2 1 1 0 

0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 
0 2 1 1 1 

0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 
0 2 1 1 2 

0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 
0 2 1 1 3 

0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 
0 2 1 1 4 

0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 
0 2 2 4 0 

0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 
0 2 2 4 1 

0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 
0 2 2 4 2 

0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 
0 2 2 4 3 

0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4 
0 2 2 4 4

(Code abgeändert):
Java:
if(check(c)) {
				bijections.add(c);
				for(int[] b : bijections) {
					for(int a: b) System.out.print(a + " ");
					System.out.println();
				}
				System.out.println();
			}
Warum wird meine Liste immer wieder vollkommen überschrieben??? Das muss doch ein ganz blöder Fehler sein!
 

Marco13

Top Contributor
Ohne es im Detail nachvollzogen zu haben: Dort scheint immer derSELBE Array in die List gelegt zu werden. Das könnte schon durch ein
if(check(c)) bijections.add(c.clone());
behoben sein.
 

Hatschi

Aktives Mitglied
tatsächlich, jetzt gehts... da fehlts bei mir scheinbar am grundsätzlichen Verständnis... kannste mir erklären warum das so ist?
 

Marco13

Top Contributor
Naja, das sollte durch das großgeschriebe "...SELBE" eigentlich schon angedeutet werden: Es ist ein-und-derselbe Array (und nicht etwa nur der gleiche, also NICHT nur eine Kopie, wie sie mit clone jetzt erzeugt wird).

Man legt nur eine Referenz auf genau denselben Array mehrfach in die Liste. Und wenn man den Array verändert, greift man eben (über verschiedene Referenzen) trotzdem immer auf denSELBEN Array zu.
Java:
int a[] = new int[]{ 1,2,3 };
int b[] = a; // 'b' ist jetzt eine Referenz auf dasSELBE Array wie 'a'
b[1] = 666;
System.out.println(a[1]); // Gibt 666 aus...
 

Marco13

Top Contributor
Naja...
Java:
        int[] c = START; // Das ist immer derselbe Array
        ...
        while(i!=MOD && !end) { // Solange irgendwas gilt...
                ....
                c[MOD-1-i]++; // ... pfusche irgendwie im Array rum....
                ...
            if(check(c)) bijections.add(c); // ... und lege dann immer dasSELBE Array in die Liste...
        }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 Frage Performance bei Linked List und Array List Allgemeine Java-Themen 5
Rakshan Reading through list of objects Allgemeine Java-Themen 8
L Unterschied zwischen List und LinkedList implementierung? Allgemeine Java-Themen 15
Monokuma String List nach Zahlen und Worten sortieren Allgemeine Java-Themen 9
W Enumeration ein Array/List als Eigenschaft mitgeben - warum geht das nicht? Allgemeine Java-Themen 0
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
W Collections Suche etwas Sorted-List-Artiges...hat jemand eine Idee? Allgemeine Java-Themen 13
M List -Tableview-Javafx-Vererbung Allgemeine Java-Themen 35
R convert 2d array list to 2d array Allgemeine Java-Themen 1
B List<Integer> ist List<Double> ? Allgemeine Java-Themen 6
L Applet Problem "security: Trusted libraries list file not found" ? Allgemeine Java-Themen 7
G Neues Objekt aus List<JsonObject> mit Stream Allgemeine Java-Themen 4
J Array-List Bubble-Sort Allgemeine Java-Themen 12
U javax.mail.Folder.list() zeigt nicht alle Ordner Allgemeine Java-Themen 5
Hacer List<? super E> Allgemeine Java-Themen 10
C Objekte in Array List speichern? Allgemeine Java-Themen 1
P List<Type> Konvertieren in List<List<Type>> Allgemeine Java-Themen 3
P Sorted List o.ä. Allgemeine Java-Themen 2
M Erste Schritte List<> unbekannt?? Allgemeine Java-Themen 8
M List casting error Allgemeine Java-Themen 3
Messoras List zeigt nur das letzte Element an Allgemeine Java-Themen 14
K Collections Collection<> mit List<String> abgleichen? Allgemeine Java-Themen 10
A List<String> auf doppelte Einträge überprüfen Allgemeine Java-Themen 4
U EJB Entity mit List Problem Allgemeine Java-Themen 2
? Objects aus List aussortieren Allgemeine Java-Themen 9
B List Pointer zurücksetzen Allgemeine Java-Themen 10
J Elemente zu einer List hinzufügen? Allgemeine Java-Themen 9
T Liste mit GregorianCalendar-Objekten in List einlesen, mit Collection sortieren und ausgeben Allgemeine Java-Themen 3
N List auf null prüfen Allgemeine Java-Themen 2
G List<Person> sortieren Allgemeine Java-Themen 6
A Probleme mit ConcurrentHashMap und List Allgemeine Java-Themen 3
C Komisches Verhalten zwischen Set und List bei contains Allgemeine Java-Themen 6
N Inverted index / inverted list Allgemeine Java-Themen 2
X Eine Map mit X -> List<Y>? Allgemeine Java-Themen 8
Shoox HashMaps in List? Allgemeine Java-Themen 3
B Frage zu Interface und List Allgemeine Java-Themen 4
Z aus private List<???> list eintrag löschen Allgemeine Java-Themen 4
L List <Hauser> in Combobox einfügen Allgemeine Java-Themen 5
isowiz java.util.List: Sortierung nicht nach bestimmten Attribut? Allgemeine Java-Themen 4
K von List getSelected auf ResultSet Datenbank löschen Allgemeine Java-Themen 2
E Speicher frei machen (List) Allgemeine Java-Themen 9
K List in Teillisten zerlegen Allgemeine Java-Themen 2
B Probleme mit awt.List in Chatprogramm Allgemeine Java-Themen 14
MQue List<String> aus List<Object> generieren Allgemeine Java-Themen 2
B List = ArrayList ? Allgemeine Java-Themen 12
N List<? implements "Interface"> geht nicht Allgemeine Java-Themen 13
G Byte- List mit einem Iterator durchlaufen Allgemeine Java-Themen 5
G Linked List zwischen zwei Threds übergeben Allgemeine Java-Themen 11
S List<Double> oder Double[] in double[] zu konvertieren Allgemeine Java-Themen 6
G Methode akzeptiert List<ParentClass> aber nicht List&l Allgemeine Java-Themen 2
G List- Einträge löschen Allgemeine Java-Themen 3
G java.util.List klonen Allgemeine Java-Themen 17
S Collections.binarySearch(list,"a") Allgemeine Java-Themen 7
K Bound mismatch: The generic method sort(List<T>) of ty Allgemeine Java-Themen 4
K "Too many open files" bei Property List Allgemeine Java-Themen 5
P List in Hashmap schreiben Allgemeine Java-Themen 5
J linked list per reverse() "umdrehen" Allgemeine Java-Themen 11
P java.util.List - Typ überschreiben Allgemeine Java-Themen 9
G Arraylist statt List - Sehr schlimm? Allgemeine Java-Themen 8
G List mit selbstdefinierten Objekten sortieren Allgemeine Java-Themen 2
M Datenstrukrue, List<Map<Integer, Map<String, . Allgemeine Java-Themen 2
F List<String> zu byte[] Allgemeine Java-Themen 7
G Map oder List mit festgelegter Reihenfolge Allgemeine Java-Themen 4
M Pendant zu list() und array() aus PHP in Java gegeben? Allgemeine Java-Themen 5
J Problem mit List Allgemeine Java-Themen 2
byte Generic Type einer List zur Laufzeit rausfinden? Allgemeine Java-Themen 4
S Generics List Allgemeine Java-Themen 3
G Inhalt einer Textdatei in eine AWT List schreiben Allgemeine Java-Themen 3
C access control list in java Allgemeine Java-Themen 7
T List.isEmpty() klappt nicht?!?!? Allgemeine Java-Themen 5
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
berserkerdq2 Wenn ich einfach eine GIF in den Scenebuilder als Bild reinpacke, wird das dann asl Gif angezeigt Allgemeine Java-Themen 1
G Popup wird nicht sichtbar Allgemeine Java-Themen 9
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
Sachinbhatt Wie wird die Typumwandlung bei Mehrfachvererbung in Java implementiert? Allgemeine Java-Themen 3
Y MVVM wie wird Eventhandler tausch geregelt Allgemeine Java-Themen 4
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
T ImageIcon wird nicht angezeigt Allgemeine Java-Themen 6
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
N warum wird es doppelt ausgegeben Allgemeine Java-Themen 6
A code wird nicht ausgeführt Allgemeine Java-Themen 3
Y Warum wird das JLabel falsch verschoben? Allgemeine Java-Themen 1
T Schaltfläche wird nicht gefunden Allgemeine Java-Themen 4
N Eingabe wird immer als "false" ausgegeben Allgemeine Java-Themen 6
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
M Frage-Antwortspiel wie Wer wird Millionär Allgemeine Java-Themen 1
Zrebna Gibt es eine Möglichkeit eine NPE zu vermeiden, wenn null returned wird? Allgemeine Java-Themen 3
R Warum wird mir in der Konsole das "Standard Array" ausgegeben? Allgemeine Java-Themen 2
C FileLock - Exception wird immer geworfen Allgemeine Java-Themen 4
R Was muss ich ändern, damit der Kreis links unten gezeichnet wird? Allgemeine Java-Themen 17
hello_autumn Java_Home geändert auf Java 13, trotzdem wird Java Version 8 angezeigt. Allgemeine Java-Themen 2
Thallius Char +1 wird int? Allgemeine Java-Themen 7
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
F Scrollbar wird nicht angezeigt Allgemeine Java-Themen 0
B Discord Bot - Funktion wird nicht aufgerufen Allgemeine Java-Themen 1
I Temp-Datei wird nicht gelöscht Allgemeine Java-Themen 12
S If-Menü wird doppelt ausgegben Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben