Ich wollte eine ArrayList machen die zuerst eine String und dann eine int Spalte hat.
Dafür hab ich erstmal eine Klasse "Liste" gemacht die aus einem String und einem int besteht:
Java:
publicclass liste {privateStringName;privateintWert;publicliste(StringName,intWert){this.Name=Name;this.Wert=Wert;}publicStringgetName(){returnName;}publicvoidsetName(String name){Name= name;}publicintgetWert(){returnWert;}publicvoidsetWert(int wert){Wert= wert;}}
Und dann hab ich eine Klasse gemacht die eine ArrayList<liste> erstellt.
Java:
importjava.util.ArrayList;publicclass verarbeiten {privateArrayList<liste> upd =newArrayList<liste>();publicArrayList<liste>getUpd(){return upd;}publicvoidsetUpd(ArrayList<liste> upd){this.upd = upd;}publicverarbeiten(StringName,intWert){
upd.add(Name,Wert);}}[/Java]Ich weiß nun aber nicht wie ich im Konstruktor den String und int auf das Array übergeben kann.
@Tobse:
Eine HashMap ist doch etwas völlig anderes. Woher willst du wissen, dass hier eine HashMap besser geeignet ist? Du kannst anhand der hier geposteten Informationen doch rein gar nichts über die Anforderungen wissen...
Was ich viel eher bemängeln würde, wäre das Naming.
@Tobse:
Eine HashMap ist doch etwas völlig anderes. Woher willst du wissen, dass hier eine HashMap besser geeignet ist? Du kannst anhand der hier geposteten Informationen doch rein gar nichts über die Anforderungen wissen...
Was ich viel eher bemängeln würde, wäre das Naming.
Natürlich kann ich das nicht. Aber darf ich es nicht einfach Vorschlagen?
Wie ich darauf gekommen bin: seine Klasse list ist ein HashMap.Entry<String,Integer>. Und das objekt, dass er "verarbeitet" ist eine ArrayList<list>, ergo eine Collection<HashMap.Entry<String,Integer>>, ergo eine HashMap<String,Integer>. Der Grund, warum ich Collection und nicht ArrayList annehme ist, dass sein Code nicht erkennen lässt, dass die Reihenfolge der Einträge von Bedeutung ist. Sollte sie das sein, kann er immernoch genauso gut eine ArrayList<HashMap.Entry<String,Integer>> nehmen (oder davon erben).
Naja, und was ich mit meiner Aussage meinte: Du setzt ja implizit vorraus, dass es keine doppelten "Keys" gibt. Ich sehe darauf nirgendwo den geringsten Hinweis.