eine Funktion soll 2 ArrayList´s zurückliefern. Dazu habe ich mir ein Objekt angelegt, welches die 2 ArrayListen speichert:
Code:
import java.util.ArrayList;
public class MyArrayLists {
private ArrayList alZwischenErg = new ArrayList();
private ArrayList alBerechnet = new ArrayList();
//Default Konstruktor
public MyArrayLists (ArrayList alZwischenErg, ArrayList alBerechnet){
this.alZwischenErg = alZwischenErg;
this.alBerechnet = alZwischenErg;
}
//Getter zum zurückliefern der einzelnen ArrayList´s
public ArrayList getAlBerechnet() {
return alBerechnet;
}
public ArrayList getAlZwischenErg() {
return alZwischenErg;
}
}
Jetzt habe ich im Hauptprogramm die Funktion myFunction, in welcher die 2 ArrayList´s erstellt werden.
2 Fragen:
1. Wie speichere ich in myFunction die 2 ArrayListen im Objekt ab? Habe das erstmal so gemacht:
Code:
public void myFunction(){
ArrayList alZwischenErg = new ArrayList();
ArrayList alBerechnet = new ArrayList();
//hier meine Abarbeitung
...
//speichern ins Objekt
new MyArrayLists(alZwischenErg, alBerechnet);
}
2. Wie lese ich jede einzelne ArrayList an anderer Stelle im Hauptprogramm wieder aus dem Objekt aus? Habe einiges probiert, doch mit der Syntax hab ich so bisl Probleme.
//Getter zum zurückliefern der einzelnen ArrayList´s
public ArrayList getAlBerechnet() {
return alBerechnet;
}
public ArrayList getAlZwischenErg() {
return alZwischenErg;
}
steht doch sogar schon im kommentar. selbst geschrieben heisst gut kopiert?
//Getter zum zurückliefern der einzelnen ArrayList´s
public ArrayList getAlBerechnet() {
return alBerechnet;
}
public ArrayList getAlZwischenErg() {
return alZwischenErg;
}
steht doch sogar schon im kommentar. selbst geschrieben heisst gut kopiert?
Ja, aber wenn ich nun meine 2 ArrayListen wieder auslesen will (ich gehe davon aus, dass ich diese erstmal korrekt im Objekt gespeichert habe), wie mache ich das syntaktisch gesehen? Ich habe es so probiert:
Code:
MyArrayLists my = new MyArrayLists; //liefert Fehler "cannot be resolved"!!!
ArrayList myArrayList1 = my.get_alZwischenErg();
ArrayList myArrayList2 = my.get_alBerechnet();
Ich glaube, ich habe lediglich syntaktische Fehler eingebaut?!?!
Deine Kreativität in allen Ehren, aber warum benutzt Du nicht Dinge die es schon gibt?
Wenn Du die zwei ArrayListen in einer ArrayList abspeicherst kommst Du auch zum Ziel. Du könntest sogar noch mehr darin abspeichern und ganz einfach wieder drauf zugreifen.
Wenn man genau ZWEI Arraylisten braucht und haben will, dann wäre es IMHO ein Overkill, dafür eine eigene ArrayList anzulegen. Gegen eine generische(!) Klasse "Tuple2<S,T>" würde aber IMHO nichts sprechen...
Naja. Ist nur eine sehr subjektive Meinung (deswegen auch "IMHO"). Wenn man sowas hat wie
Code:
class KatholischeEhe
{
???? getEhepartner() { ... }
}
widerstrebt es mir einfach, dort etwas zurückzugeben, was mehr als 2 Elemente enthalten kann, was 'null'en enthalten kann, wo ggf. jemand anderes ein drittes Objekt reinlegen kann, .... Wenn man etwas modelliert, und es so modellieren will, wie es IST, und es einfach so IST, dass es nur 2 Elemente enthält, dann... macht man das eben so. IMHO. Aber eine ArrayList geht natürlich auch.... :?
Man sollte sich aber - um bei diesem Beispiel zu bleiben - vorher überlegen, ob es nicht irgendwann eine allgemeine "Ehe"-Klasse geben soll, die ggf. mehr als 2 Partner hat :wink: Aber selbst dann sollte man AUCH in Erwägung ziehen, eine Klasse "EhepartnerMenge" zu erstellen. (Ich sage nicht, dass man das machen soll, sondern nur, dass man es in Erwägung ziehen sollte!)