Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15
  1. #1
    Trojaner
    Registriert seit
    27.01.2016
    Beiträge
    52

    Beitrag Suche ein Array wo ich immer wieder was dazufügen kann

    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

  2. #2
    Sobig Wurm
    Registriert seit
    03.07.2015
    Beiträge
    201

    Standard AW: Suche ein Array wo ich immer wieder was dazufügen kann

    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 17:13 Uhr)

  3. #3
    0x532d4d6f64 Avatar von Barny
    Registriert seit
    12.01.2007
    Beiträge
    630

    Standard AW: Suche ein Array wo ich immer wieder was dazufügen kann

    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:

    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;
        }
    Ein beispielhafter Aufruf wäre dann:

    Code:
            int[] toIncrement = {1,2,3};
            int toAdd = 4;
            
            toIncrement = incrementArray(toIncrement,toAdd);
    Ich denke aber, dass du eher auf der Suche nach einer ArrayList bist.

    Hier mal ein Beispiel:

    Code:
    List<int> arrayList = new ArrayList<int>();
    
    arrayList.add(1);
    arrayList.add(2);
    arrayList.add(3);
    
    System.out.println(arrayList.get(2));
    Die Ausgabe wäre:
    Code:
    3
    Die Länge der Liste, bzw. die Anzahl der enthaltenen Elemente kannst du dir mit Hilfe dieser Methode ausgeben lassen:

    Code:
    arrayList.size();
    Würde bei dem Beispiel oben dann 3 zurückgeben.

    Eher zu empfehlen wäre die zweite Methode.

    Ich hoffe ich konnte dir helfen!

    mfg

    Barny
    Geändert von Barny (26.02.2016 um 17:13 Uhr)

    ~~~ Blog ~~~
    ~~~ PGP-Key ~~~

  4. #4
    Wiederbelebt Avatar von Cystasy
    Registriert seit
    08.05.2015
    Beiträge
    685

    Standard AW: Suche ein Array wo ich immer wieder was dazufügen kann

    @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 18:05 Uhr)

  5. #5
    0x532d4d6f64 Avatar von Barny
    Registriert seit
    12.01.2007
    Beiträge
    630

    Standard AW: Suche ein Array wo ich immer wieder was dazufügen kann

    Hi, Cystasy!

    Selbstverständlich hast du Recht, wenn du sagst, dass die Länge von Arrays mit
    Code:
    arr.length();
    bestimmt wird. (Kann man auch gut an meinem oberen Beispiel im Schleifenkopf erkennen)
    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:
    Zitat Zitat von Oracle
    public int size() Returns the number of elements in this list.
    Eine Methode "length()" wirst du hier nicht finden.

    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

    ~~~ Blog ~~~
    ~~~ PGP-Key ~~~

  6. #6
    Wiederbelebt Avatar von Cystasy
    Registriert seit
    08.05.2015
    Beiträge
    685

    Standard AW: Suche ein Array wo ich immer wieder was dazufügen kann

    @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 18:29 Uhr)

  7. #7
    0x532d4d6f64 Avatar von Barny
    Registriert seit
    12.01.2007
    Beiträge
    630

    Standard AW: Suche ein Array wo ich immer wieder was dazufügen kann

    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
    Geändert von Barny (26.02.2016 um 18:40 Uhr)

    ~~~ Blog ~~~
    ~~~ PGP-Key ~~~

  8. #8
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard AW: Suche ein Array wo ich immer wieder was dazufügen kann

    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 ^.^

  9. #9
    Wiederbelebt Avatar von Cystasy
    Registriert seit
    08.05.2015
    Beiträge
    685

    Standard AW: Suche ein Array wo ich immer wieder was dazufügen kann

    Zitat Zitat von Barny Beitrag anzeigen
    Vorerst:
    Keiner deiner Beiträge wurde hier gelöscht. Würde mir persönlich bei dir glaube ich nicht in den Sinn kommen
    Hm,komisch.
    Nach abschicken des Posts stand er da.. nach dem F5 plötzlich nicht mehr
    Naja egal^^

    Zitat Zitat von Barny Beitrag anzeigen
    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.
    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^^

  10. #10
    Gesperrt
    Registriert seit
    24.08.2008
    Beiträge
    401

    Standard AW: Suche ein Array wo ich immer wieder was dazufügen kann

    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.

  11. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Cystasy (27.02.2016), gORDon_vdLg (27.02.2016)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Rechner bootet immer wieder neu
    Von bonti im Forum Hardware
    Antworten: 15
    Letzter Beitrag: 23.08.2010, 15:06
  2. Immer wieder neuen Usenet Acc
    Von stree im Forum Biete Tutorials
    Antworten: 15
    Letzter Beitrag: 16.06.2010, 10:12
  3. [VB.NET] Nach Splitten im Array immer Leere Felder!
    Von hackerking im Forum .NET Sprachen - Techniken
    Antworten: 7
    Letzter Beitrag: 06.07.2009, 16:40

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •