Referenzen zu festen Werten machen?

Status
Nicht offen für weitere Antworten.

auxilium

Mitglied
Hallo ich habe folgendes Problem,

ich führe eine Methode aus und jedes mal , wird in der methode eine Arraylist mit den ganzen ausgabewerten erzeugt.
Die Anzahl der Ausgabewerte ist unterschiedlich, da Rekursion.

Jetzt habe ich versucht diese Arraylist als Element in einer weiteren Arraylist zu speichern, das funktioniert auch.
nur wenn ich die methode jetzt ein weiteres mal ablaufen lassen wird meine arraylist aus der methode überschrieben, und da referenz, habe ich in meiner 2. Arraylist nun 2 mal dieselbe Arraylist gespeichert.

Hat einer eine Idee wie ich das umgehen kann?
 

auxilium

Mitglied
Code:
ArrayList<String> zwischendaten = new ArrayList<String>();

public boolean berechnen(int x){
k= 2;


while (x<1){

if(x%2){
zwischendaten.add("teilbar durch "+k);
x= x/2;
k = k*2;
}
}

  

}

So jetzt bekomme ich jedes Mal meine String Ergebnisse in die ArrayList zwischendaten.

Jetzt würde ich gerne die Methode x mal aufrufen und die kompletten Ergebnisse in einer weiteren ArrayList gespeichert haben:

Code:
ArrayList<ArrayList<String>>ergebnisse = new ArrayList<ArrayList<String>>;

Führe ich jetzt folgendes aus:

berechnen(4);
ergebnisse.add(zwischendaten);
berechnen(6);
ergebnisse.add(zwischendaten);

So beinhalten ergebnisse.get(0) und ergebnisse.get(1) dasselbe, weil jeweils die Referenz zwischendaten übergeben wurde.
Wie kann ich das generell umgehen?
Gibt es eine Liste, die keine Referenzen enthält?


[/code]
 

0x7F800000

Top Contributor
na indem du eben verschiedene ArrayLists erstellst?

aber irgendwie verstehe ich den code gar nich, was soll das denn sein:

Code:
while(x<1)
da gibts es keinen einzigen fall bei natürlichen zahlen, und sonst interessieren nirgendwo teilbarkeitsverhältnisse...

Code:
if(x%2)
kompiliert er das etwa? glaub ich dir nicht. da fehlt ==0 oder sowas

Code:
public boolean berechnen
da müsste der compiler doch auch schimpfen, du gibst ja nix zurück...

ansonsten: ArrayList in der methode erzeugen, in der methode ausfülle, von der Methode zurückgeben lassen, etwa:

Code:
public ArrayList<String> berechnen(int x){ 
    zwischendaten = new ArrayList<String>(); 
    k= 2; 
    while (x>1){ 
        if(x%2==0){ 
            zwischendaten.add("teilbar durch "+k); 
            x/=2; 
            k*=2; 
        } 
    }
    return zwischendaten;
}

jetzt fügst du dementsprechend viele verschiedene ergebnislisten in dein ArrayList<ArrayList<String>>:

Code:
ArrayList<ArrayList<String>> ergebnisse = new ArrayList<ArrayList<String>>;
ergebnisse.add(berechnen(16));
ergebnisse.add(berechnen(234523));
 

auxilium

Mitglied
das hab ich grad ohne viel nachdenken hingeschrieben, natürlich stimmen die ergänzungen.

zu der sache mit der arraylist, also mein code is da doch bissl komplizierter, aber wahrscheinlich auch zu umfangreich um hier verföffentlicht zu werden.

Mein Problem ist folgendes:
Ich prüfe ob eine Bedingung wahr ist in einer Boolean Bedingung und gebe dann in der Methode selber ein true oder false als Returnwert zurück.

Gleichzeitig wird zu jeder Bedingung noch ein Kommentar in einem übergeordneten Array gespeichert, das Array kann ich so nicht zurückgeben, da es ja schon eine Boolean Methode ist, oder doch?

Ist vllt schwer nachzuvollziehen, aber ich weiß nicht, ob du dir den Code angucken möchtest, der ist doch etwas größer. ( 3 Dateien jeweils 1 Seite)
 

0x7F800000

Top Contributor
na gut, dann erzeugst du halt mehrere ArrayList<String> irgendwo außerhalb der Methode, übergibst diese dann der Methode, und lässt es wieder von der Methode ausfüllen:

Code:
public boolean berechnen(int x, ArrayList<String> zwischendaten){ 
    k= 2; 
    while (x>1){ 
        if(x%2==0){ 
            zwischendaten.add("teilbar durch "+k); 
            x/=2; 
            k*=2; 
        } 
    } 

    return irgendetwasBoolsches; 
}

und verwendest es dann entsprechend:

Code:
ArrayList<String> zwischendatenFuer234=new ArrayList<String>();
berechnen(234,zwischendatenFuer234);
ergebnisse.add(zwischendatenFuer234);

eigentlich verstehe ich jetzt sogar was dein problem gewesen ist: du könntest zB einfach deinen ursprünglichen code nehmen, und einfach statt
Code:
ergebnisse.add(zwischendaten);
einfach nur
Code:
ergebnisse.add(zwischendaten.clone());
eintippen. Dann dürftest du jedes mal eine neue Referenz auf eine neue Kopie abspeichern... Dürfte zwar gehen, wäre aber unnötig umständlich, hässlich und lahm auch noch dazu: du würdest so völlig umsonst irgendwelche daten hin undherkopieren, das dauert...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Hab ich dass so richtig erklärt (Objekte und Referenzen)? Java Basics - Anfänger-Themen 5
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
M Referenzen zuweisen und wird gleichzeitig ausgeführt Java Basics - Anfänger-Themen 6
B JaxB - Unique Name updaten / Referenzen in XML Java Basics - Anfänger-Themen 0
B Objekt kopieren und sämtliche Referenzen von diesem Objekt? Java Basics - Anfänger-Themen 3
B JaxB - Referenzen erstellen? Java Basics - Anfänger-Themen 2
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
B Datenbank: Entity mit vielen Referenzen? Ansatz so ok? Java Basics - Anfänger-Themen 8
scratchy1 Referenzen Java Basics - Anfänger-Themen 32
O Referenzen Java Basics - Anfänger-Themen 2
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
A Variablen Referenzen Java Basics - Anfänger-Themen 6
A GUI-Bedienelemente mit Zeiger/Referenzen-Array veralten Java Basics - Anfänger-Themen 4
K Operatoren 2D Int Array auf Null-Referenzen prüfen Java Basics - Anfänger-Themen 18
F Referenzen zwischen Methoden Java Basics - Anfänger-Themen 5
T Klassen Referenzen auf Klassen / Objekte Java Basics - Anfänger-Themen 5
J OOP Ein Fahrrad - zwei Besitzer: Zwei Referenzen auf ein Objekt Java Basics - Anfänger-Themen 43
C Referenzen zu Instanzen einer Klasse im Array Java Basics - Anfänger-Themen 8
K Collections Auf Referenzen in ArrayList zugreifen? Java Basics - Anfänger-Themen 3
B ArrayList.clear - Daten in allen Referenzen weg Java Basics - Anfänger-Themen 2
L Grundlegende Verständnisfrage Hasmap Referenzen Java Basics - Anfänger-Themen 4
C OOP Referenzen-Problem Java Basics - Anfänger-Themen 3
N Referenzen Problem Java Basics - Anfänger-Themen 2
K Referenzen - 2ter Versuch Java Basics - Anfänger-Themen 17
M Instanzen, Referenzen und Collections Java Basics - Anfänger-Themen 3
C Referenzen in Java Java Basics - Anfänger-Themen 11
J Referenzen vergleichen Java Basics - Anfänger-Themen 8
M Referenzen verschieben Java Basics - Anfänger-Themen 2
J Mehrere Referenzen auf ein Objekt Java Basics - Anfänger-Themen 6
M Referenzen Java Basics - Anfänger-Themen 11
G Netzwerk: RMI Objekt-Referenzen Java Basics - Anfänger-Themen 2
I clone() und Referenzen Java Basics - Anfänger-Themen 25
F Referenzen Java Basics - Anfänger-Themen 7
H Problem mit Events bzw. Referenzen Java Basics - Anfänger-Themen 4
M Zugriff auf Textfelder über Referenzen? Java Basics - Anfänger-Themen 3
F ArrayList! Pointer, Referenzen! Java Basics - Anfänger-Themen 4
K Verständnisfrage Collection, ArrayList und Referenzen Java Basics - Anfänger-Themen 4
H Begriff: Objekt enthält Referenzen Java Basics - Anfänger-Themen 3
J Referenzen Java Basics - Anfänger-Themen 5
P HashSet und Referenzen Java Basics - Anfänger-Themen 9
G Speicherung von Referenzen auf Instanzen Java Basics - Anfänger-Themen 5
T Referenzen. Java Basics - Anfänger-Themen 5
Z Referenzen in LinkedList Java Basics - Anfänger-Themen 3
F Referenzen in Java - Fehlerpotenzial ! Java Basics - Anfänger-Themen 5
G Instanzen und Referenzen Java Basics - Anfänger-Themen 5
G array auf null-referenzen überprüfen ! Java Basics - Anfänger-Themen 9
G Referenzen Java Basics - Anfänger-Themen 5
M Vererbung Konstruktoren mit festen Werte Java Basics - Anfänger-Themen 2
S Bestehendes Java Programm, einen festen Wert ändern Java Basics - Anfänger-Themen 17
J Datentypen String splitten ohne festen Ausdruck Java Basics - Anfänger-Themen 8
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
T PDF-Formula (XFDF) via Mail - Betreff mit Werten aus PDF-Formular ergänzen Java Basics - Anfänger-Themen 2
A Werten aus dem Text ausliesten Java Basics - Anfänger-Themen 6
Csircc Neuer Array mit geringerer Länge und selben werten. Java Basics - Anfänger-Themen 2
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
U Erste Schritte nextGaussian zwischen zwei Werten Java Basics - Anfänger-Themen 19
C Methode Grouping mit Werten ausgeben Java Basics - Anfänger-Themen 2
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
D Input/Output fehlerhafter Algorithmus zum Ersetzen von Array-Werten nach logischem Schema Java Basics - Anfänger-Themen 1
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
O zwei Arrays nach Werten durchsuchen und zusammenfügen Java Basics - Anfänger-Themen 3
B Rückgabe von zwei Werten: String und double Java Basics - Anfänger-Themen 14
Henri Vergabe von undeklarieten Werten Java Basics - Anfänger-Themen 64
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
E OOP Array anlegen mit unterschiedlichen Werten Java Basics - Anfänger-Themen 8
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
M Speichern von Werten in Array Java Basics - Anfänger-Themen 1
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
M Übergabe von Werten Java Basics - Anfänger-Themen 10
Bregedur Methoden Matcher und Pattern bei sich wiederholenden Werten Java Basics - Anfänger-Themen 1
M Java Arrays mit Werten initialisieren Java Basics - Anfänger-Themen 3
G Interpolation von Werten im 3D-Raum Java Basics - Anfänger-Themen 3
N Zählen von Rationalen Werten eines Arrays Java Basics - Anfänger-Themen 10
R Objekt erstellen - Attribute mit mehreren Werten Java Basics - Anfänger-Themen 1
F JButton [] mit Werten hinterlegen Java Basics - Anfänger-Themen 10
L Frage zur Rückgabe von Werten bei Methoden Java Basics - Anfänger-Themen 4
L Array mit Werten belegen Java Basics - Anfänger-Themen 7
Crazynet jTable erste Zeile mit deffinierten Werten Java Basics - Anfänger-Themen 0
J JFrame ausgabe von Werten Java Basics - Anfänger-Themen 9
F Array mit Scanner-Werten Java Basics - Anfänger-Themen 4
W Klassen [GELÖST] Objekte während der Laufzeit mit neuen veränderten Werten beliebig oft initialisieren Java Basics - Anfänger-Themen 2
J ArrayList<int[]> wird beim hinzufügen von werten komplett überschrieben warum? Java Basics - Anfänger-Themen 1
GreyFox Object dynamisch mit werten versehen. Java Basics - Anfänger-Themen 4
C Arrays zusammenfügen mit abwechselnden Werten Java Basics - Anfänger-Themen 3
F Map nach Werten durchsuchen Java Basics - Anfänger-Themen 3
S Suche richtigen Typ für Variabel mit den Werten (neu, gebraucht, beschädigt) Java Basics - Anfänger-Themen 7
V Methoden Matrix als 1D Array mit Werten füllen Java Basics - Anfänger-Themen 12
T Liste mit 2 Werten pro Eintrag Java Basics - Anfänger-Themen 9
F Effizientes Lesen von 65 Datein mit Boolean Werten Java Basics - Anfänger-Themen 6
A OOP Buchstaben mit ASCII Werten darstellen Java Basics - Anfänger-Themen 1
M Ausgeben eines 2D Arrays mit int UND String werten - BLUEJ! Java Basics - Anfänger-Themen 4
V Anzahl von gleichen Werten in einem Int-Array ermitteln Java Basics - Anfänger-Themen 4
M Mit Werten aus Arrays in anderen Methoden rechnen? Java Basics - Anfänger-Themen 3
D Sortieren von int Werten von Objekten in einer LinkedList, kann nicht auf int Werte zugreifen Java Basics - Anfänger-Themen 3
L Array - Nach 2 gleichen Werten stoppen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben