Wie gesagt, suche eine Art Array wo ich je nach bedarf immer wieder was dazufügen kann. Wenn möglich sollte ich auch am Ende des Anfügevorgans wissen wie lange das Array ist. Gibt es dafür eiene Möglichkeit in Java ?
Vielen Dank
Jones7991
Wie gesagt, suche eine Art Array wo ich je nach bedarf immer wieder was dazufügen kann. Wenn möglich sollte ich auch am Ende des Anfügevorgans wissen wie lange das Array ist. Gibt es dafür eiene Möglichkeit in Java ?
Vielen Dank
Jones7991
Also genau verstehe ich deine Frage nicht ganz Aber kann auch sein, dass ich zu blöd bin. Habe eigentlich keine Ahnung von Java, habe aber nach kurzem Googlen eine eventuelle Lösung für dich gefunden.
Hier werden Arrays in Java nochmal "genau" erklärt:
DamnLösung
Geändert von Dailox (26.02.2016 um 16:13 Uhr)
Hallo, Jones97!
Ein Array hat eine feste Länge, die du vorgeben musst. Ein Erweitern eines Arrays ist demnach nachträglich nicht möglich. Wenn du nur auf Arrays arbeiten möchtest, könntest du dein Array aber durch Umspeicherung "erweitern". Schau dir mal nachträgliche Methode an für ein Integer-Array:
Ein beispielhafter Aufruf wäre dann:Code:public int[] incrementArray(int[] arr,int toAdd) { int[] temp = new int[arr.length+1]; for(int i=0;i<temp.length;i++) { temp[i] = arr[i]; } temp[temp.length-1] = toAdd; return temp; }
Ich denke aber, dass du eher auf der Suche nach einer ArrayList bist.Code:int[] toIncrement = {1,2,3}; int toAdd = 4; toIncrement = incrementArray(toIncrement,toAdd);
Hier mal ein Beispiel:
Die Ausgabe wäre:Code:List<int> arrayList = new ArrayList<int>(); arrayList.add(1); arrayList.add(2); arrayList.add(3); System.out.println(arrayList.get(2));
Die Länge der Liste, bzw. die Anzahl der enthaltenen Elemente kannst du dir mit Hilfe dieser Methode ausgeben lassen:Code:3
Würde bei dem Beispiel oben dann 3 zurückgeben.Code:arrayList.size();
Eher zu empfehlen wäre die zweite Methode.
Ich hoffe ich konnte dir helfen!
mfg
Barny
@Barny
Soweit ichs noch in erinnerung hab nutzt man nicht array.size(); sondern array.length(); - das gibt dann einem die Anzahl von Elementen in einem Array zurück.
Sicher das da ein array.size() funktioniert? Dachte das würde nur die größe des Arrays selbst zurückgeben.. nicht wieviele Elemente in ihm sind.
p.s: Zudem würde es glaube ich nicht 3 zurückgeben sondern 2.. weil Java fängt bei 0 zu zählen an. 0, 1, 2 = 3 Objekte.. ausgeben tut er das aber als 2 weil er bei 0 anfängt zu zählen. Falls ich mich irren sollte korrigiert mich
Geändert von Cystasy (26.02.2016 um 17:05 Uhr)
Hi, Cystasy!
Selbstverständlich hast du Recht, wenn du sagst, dass die Länge von Arrays mit
bestimmt wird. (Kann man auch gut an meinem oberen Beispiel im Schleifenkopf erkennen)Code:arr.length();
Die Rede war hier aber von Listen. Wenn du möchtest kannst du mal auf den Link gehen den ich oben erwähnt hatte und mal nach "size()" suchen. Hier ist nachfolgendes in der Doku zur ArrayList geschrieben:
Eine Methode "length()" wirst du hier nicht finden.Zitat von Oracle
Auch hier wird bei 0 begonnen zu zählen und die Ausgabe lautet demnach "3" und nicht "2", da ich mir am den Wert am INDEX 2 zurückgeben lassen wollte. Am Index 0 liegt die "1", und dann muss am Index 2 die "3" liegen. Also im grunde schon richtig was du geschrieben hast.^^ War vielleicht von mir ein unglückliches Beispiel mit den Zahlen (Oder vergucke ich mich gerade doch?!)
mfg
Barny
@Mods
uhm.. hat grad en mod mein posting gelöscht oder so o_O?
Hatte grad geantwortet, es stand da.. und nun ises wech ._.
@Barny
Okay, ich muss meine Antwort nochmals tippen daher halte ich sie kürzer^^
Hatte das Missverstanden gehabt, dachte das du als length dann 3 zurück erhälst anstelle 2, dabei meintest du den Inhalt des Arrays selbst.
Sorry^^ Habe ich falsch aus dem Kontext verstanden gehabt.
grüße
Geändert von Cystasy (26.02.2016 um 17:29 Uhr)
Vorerst:
Keiner deiner Beiträge wurde hier gelöscht. Würde mir persönlich bei dir glaube ich nicht in den Sinn kommen
Dennoch:
Da haust du jetzt war durcheinander, denn selbst wenn ich mir die Anzahl der Elemente hätte zurückgeben lassen, hätte er mir "3" zurückgegeben und nicht zwei. Denn hier fängt er nicht bei 0 an, weil es sich hierbei nicht um einen Index handelt, sondern um die tatsächliche Anzahl von Elementen. Dasselbe Ergebnis würdest du auch mit einem Array und der Methode "length()" erhalten.
mfg
Barny
Ich würde an dieser Stelle gerne auf Punkt 3 in https://free-hack.com/announcement.php?f=825 hinweisen. Die Regeln gelten noch bis 2030 -- bis dahin sollte Jones97 hoffentlich die nötige Reife entwickelt haben, um unbeaufsichtigt Threads erstellen zu können. Man mag von der Moderation enttäuscht sein, dass diese Regeln offenbar nicht mehr durchgesetzt werden...
PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
please do feed the trolls crew and elk
Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
"Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^
Hm,komisch.
Nach abschicken des Posts stand er da.. nach dem F5 plötzlich nicht mehr
Naja egal^^
Hm, okay - dann habe ich mich da wohl geirrt.
Hatte das von Java noch so in Erinnerung gehabt.. kann mich aber natürlich doll irren dabei.
Ist schon eine Weile her wo ich in Java etwas gemacht habe und hatte das so in Erinnerung das er da bei 0 anfängt mit dem zählen.
p.s: Jetzt wundere ich mich grade sehr.. hatte wirklich gedacht das zumindestens bei JS der bei 0 anfängt mit zählen.. aber als ich es grade ausprobiert habe war es nicht so sondern so wie du sagtest Barny.. Hmmmm.
Mind = Blown
Naja, jetzt weiß ichs besser
Danke^^
Cysteasy: Array-Indexe sind in den meisten Sprachen 0 basiert. Trotzdem wird die Länge ganz normal gezählt, es wird also bei 1 angefangen. Da die Länge halt nicht das gleiche ist wie der Index.
Die Länge ist das Ergebnis einer Zählung und wie wir alle gelernt haben, fängt man bei 1 an zu zählen und macht so auch Sinn, denn 0 Elemente würde ja ganz klar bedeuten dass das Array/die Liste leer ist.
Der Index allerdings beschreibt die Struktur der Daten, hier bei 1 anzufangen ist also nicht zwingend notwendig, wenn auch möglich (Lua, Smalltalk und awk würden mir spontan einfallen).
Die meisten Sprachen heutzutage fangen an bei 0 zu indexieren, da es von der unterliegenden Implementation Sinn macht und weniger Arbeit für den Compiler/Interpreter bedeutet.
Warnung: In diesem Spoiler befindet sich ein Text den ich verkatert und noch leicht angetrunken geschrieben habe.
Cystasy (27.02.2016), gORDon_vdLg (27.02.2016)