2016-04-20 15 views
0

Ich versuche, am Ende eines Arrays einen Wert hinzuzufügen. Ich habe das für Arrays mit einer festen Länge, aber jetzt muss ich es für Arrays jeder Größe arbeiten lassen. Ich denke, eine einfache for-Schleife würde den Trick machen, ich kann einfach nicht die Syntax herausfinden.Array duplizieren, Element hinzufügen Java

double[] array2 = new double[array.length + 1]; 
System.arraycopy(array, 0, array2, 0, array.length); 
array2[array.length] = val; 
array = array2; 

return array2; 
+1

User ArrayList stattdessen – logger

+1

Es könnte einfacher sein, ['' 'Arrays :: copyOf'''] zu verwenden (https://docs.oracle.com/javase/7/docs/api/java/util/Arrays. html # copyOf% 28doppel [],% 20int% 29) –

Antwort

4

Sie möchten vielleicht eine ArrayList zu prüfen, mit dem Sie von als Dynamic Array denken kann. Die Größe ist dynamisch und Sie können Elemente hinzufügen, ohne sich Gedanken über die Größe machen zu müssen.

von fügen einen Wert an das Ende eines Arrays Ich nehme an, Sie ein Wert einfügen möchten. Sie können mit einem Arraylist wie dies so tun:

ArrayList<Double>myArrayList = new ArrayList<Double>(); 
myArrayList.add(3.14); 
myArrayList.add(6.24); 

Wenn Sie diese Arraylist in ein Array konvertieren möchten, können Sie here

0

try folgenden

double[] add(double[] array, double val){ 
    double[] copy = new double[array.length + 1]; 
    System.arraycopy(array, 0, copy, 0, array.length); 
    copy[array.length] = val; 
    return copy; 
} 
0

Sie haben zwei Möglichkeiten sehen können mach das.

Erstens, als was @bholagabbar sagte, verwenden Sie stattdessen ArrayList.

Option 2, Sie können die Array-Größe verdoppeln, kopieren Sie das alte Array in das neue Array (ähnlich wie ArrayList unter der Haube). Übrigens ist das Hinzufügen eines zusätzlichen Speicherplatzes keine gute Idee, ein Array zu erweitern. Wenn Sie 10 neue Elemente haben und Ihr Array voll ist, müssen Sie das Array 10 Mal erweitern und alle Elemente im Array für 10 Mal kopieren. Wenn Sie die Größe des Arrays verdoppeln, müssen Sie das Array die meiste Zeit nur einmal erweitern und alle Elemente einmal kopieren.

Verwandte Themen