Zum Inhalt springen

SEK

Mitglieder
  • Gesamte Inhalte

    4
  • Benutzer seit

  • Letzter Besuch

  1. SEK

    Matrix mit Objekten erstellen

    okay, klappt jetzt alles soweit. Danke für eure Hilfe insbesondere von dir Dragon8!
  2. SEK

    Matrix mit Objekten erstellen

    Nein, der Grund warum ich kein Array verwenden möchte ist, dass ich die Matrix zur Laufzeit verändern möchte, d.h Spalten bzw. Zeilen löschen möchte. Schön wärs natürlich auch, wenn ich einen zweiten Konstruktor schreiben könnte, dem ich nicht die spalten bzw. zeilenanzahl übergeben muss, der dann erst mal eine leere 10x10 Matrix erstellt. Aber wie könnte ich das Problem denn am geschicksten lösen, dass ich Objekte an beliebiger Stelle einfüge? Soll ich etwa die Matrix bzw. die ArrayList bei der Intialisierung mit "dummy objekten" befüllen?!
  3. SEK

    Matrix mit Objekten erstellen

    achso, d.h ich kann die ArrayList nur von "vorne" nach hinten füllen? Also ich kann keinen Eintrag an der Position 1 erstellen obwohl noch keiner an Position 0 ist? Ich dachte halt, dadurch, dass ich im Konstruktor der Klasse Matrix schon jeweils die leeren ArrayLists in der variable/attribut zeilen zeilen.add(i,new ArrayList(spaltenanzahl)); hinzugefügt habe müsste es gehen. Diese Variable "spalten" ist eigentlich nur so eine Art Hilfskonstrukt. Eigentlich würde ich lieber zeilen.get(zeilenposition).add(spaltenposition,o) machen, aber da jammert er, weil ja scheinbar nicht weiß, dass zeilen.get() eine ArrayList enthält und somit die Methode add() definiert ist. Mit generics (womit man das vielleicht lösen könnte?) kenn ich mich ehrlich gesagt nicht wirklich aus. Wäre auch für eine alternative Möglichkeit die Methode add bzw. im wesentlichen die KLasse Matrix zu schreiben offen, falls ihr irgendwelche genialen Einfälle habt. Danke schon mal!
  4. Hallo, ich wollte eine Klasse schreiben, die beliebige Objekte aufnehmen kann. Wollte sie ändern mit einer ArrayList implementieren. Problem ist allerdings, dass wohl die ich im Konstruktor in der "for-Schleife" als Spalte erzeuge, in der Methode "add" nicht mehr kennt. (Sind wohl vom garbage collector aufgelesen worden). Wenn ich nämlich versuche in einer anderen Klasse (im selben Paket) Matrix kostenmatrix = new Matrix(2,2); kostenmatrix.add(0,1,new Integer(3)); auszuführen krieg ich diese Exception: Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 0 at java.util.ArrayList.add(Unknown Source) Hier ist der Code: import java.util.ArrayList; import java.util.Iterator; public class Matrix { private int zeilenanzahl; private int spaltenanzahl; private ArrayList zeilen; public Matrix(int zeilenanzahl, int spaltenanzahl){ this.zeilenanzahl = zeilenanzahl; this.spaltenanzahl = spaltenanzahl; zeilen = new ArrayList(zeilenanzahl); for (int i=0; i<spaltenanzahl; i++){ zeilen.add(i,new ArrayList(spaltenanzahl)); } } public void add(int zeilenposition, int spaltenposition, Object o){ ArrayList spalten = (ArrayList)zeilen.get(zeilenposition); spalten.add(spaltenposition,o); } public Object get(int zeilenposition, int spaltenposition){ ArrayList spalten = (ArrayList)zeilen.get(zeilenposition); return spalten.get(spaltenposition); } }

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...