So erweitern Sie ein Array in Java, ohne seinen Namen zu ändern

7

Ich frage mich, ob es möglich ist, ein Array in Java zu erweitern, aber ohne seinen Namen zu ändern, da ich mehrere Methoden mit diesem Array verbunden habe. Ich dachte daran, ein neues Array mit demselben Namen, aber doppelt so groß zu erstellen und dann alle Elemente vom ersten Array in das zweite Array zu kopieren. Ist das möglich? Grundsätzlich möchte ich ein Array mit Konten bei einer Bank machen, und wenn der Kunde so viele Accounts erstellt, dass das Array nicht genug Elemente hat, sollte es sich erweitern Danke für die Antworten!

    
Kajsa 16.12.2010, 16:32
quelle

5 Antworten

9

Sie können das Array, das Sie haben, nicht ändern, aber Sie können ein neues Array mit dem gewünschten Typ und der gewünschten Größe erstellen, Daten vom ursprünglichen Array in das neu erstellte Array kopieren und dann der ursprünglichen Array-Variablen zuweisen.

Aber Sie sollten das nicht tun.

Anstelle eines Arrays verwenden Sie eine beliebige Implementierung von java.util.List . ArrayList ist eine gute Wahl für diesen Fall, denke ich.

    
khachik 16.12.2010 16:36
quelle
7

Auch wenn Sie ArrayList verwenden, ist das wahrscheinlich ein gutes Ergebnis In vielen Fällen gibt es vollkommen legitime Anlässe für die Verwendung von einfachen alten Arrays .

Wenn Sie in diesem Fall die Größe Ihres Arrays ändern müssen, sollten Sie eines der java.utils.Arrays.copyOf Methoden. Bitte beachten Sie jedoch, dass diese Ihr Array nicht wirklich skalieren . Sie erstellen lediglich ein neues Array und kopieren gängige Objekte.

Wenn das neue Array eine Größe größer als die alte hat, werden die neuen Elemente auf einen Standardwert initialisiert (zB: false für boolean[] , null für T[] - siehe Dokumentation für Einzelheiten). Sie müssen diese Funktion wie folgt verwenden:

%Vor%

Beachten Sie jedoch, dass diese Methode immer ein neues Array zurückgibt. Auch wenn die angeforderte Größe der Originalgröße entspricht. Wenn dies in nicht wünschenswert ist, müssen Sie so etwas schreiben:

%Vor%     
Sylvain Leroux 07.12.2014 14:05
quelle
4

Hier ist eine Methode, die ich für meine Java-Programmierklasse geschrieben habe

%Vor%

Es ist ziemlich selbst erklärend, wie es funktioniert, obwohl es auf dem Weg, den es verwendet wird, muss es haben Das Array, das der Methode zugewiesen ist, wobei der Name des Arrays als Argument übergeben wird, und der Datentyp der Methode muss immer der Typ des übergebenen Arrays sein.

Beispiel:

%Vor%

Tut mir leid, wenn es schrecklich erklärt wird und ich bin mir sicher, dass es einen besseren Weg gibt, es über Vektoren oder ArrayListen zu machen. Wenn Sie jedoch ein primitives Array erweitern möchten, ist dies eine Möglichkeit.

Hoffe ich half = D

    
Nick 29.03.2013 21:10
quelle
3

Verwenden Sie eine ArrayList , die alles erledigt für dich. Rufen Sie einfach add() oder addAll() auf, um Inhalte anzuhängen.

    
thejh 16.12.2010 16:33
quelle
0
%Vor%     
B48max 05.05.2016 12:40
quelle

Tags und Links