如何在 Java 中調整陣列大小?
Java 中無法動態調整陣列大小。
- 一種方法是使用 java.util.ArrayList(或 java.util.Vector)代替原生陣列。
- 另一種方法是重新分配一個不同大小的陣列並複製舊陣列的內容到新陣列。
示例
class ResizableArray {
public static void main (String[] args) {
int[] a = {1, 2, 3};
a = (int[])resizeArray(a, 5);
a[3] = 4;
a[4] = 5;
for (int i=0; i<a.length; i++)
System.out.println(a[i]);
}
private static Object resizeArray (Object oldArray, int newSize) {
int oldSize = java.lang.reflect.Array.getLength(oldArray);
Class elementType = oldArray.getClass().getComponentType();
Object newArray = java.lang.reflect.Array.newInstance(elementType, newSize);
int preserveLength = Math.min(oldSize, newSize);
if (preserveLength > 0)
System.arraycopy(oldArray, 0, newArray, 0, preserveLength);
return newArray;
}
}
輸出
1 2 3 4 5
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP