標籤:圖片 實現 對象 void class 數組 分享圖片 不能 demo
1、數組:數組是一種資料結構,用來儲存同一種類型值得集合,數組一旦被建立就不能改變它的大小。
2、既然數組的長度是不可改變的,那麼怎麼實現長度可變呢?
思路:既然數組長度不可變,那麼我們可以建立一個長度與原數組不同的新數組,讓原陣列變數指向新數組,從而實現長度可變(新數組如果沒有使用,那麼就會被java記憶體回收機制回收銷毀,從而不浪費記憶體空間。)
a)直接建立新數組,讓原陣列變數指向新數組。
import java.util.Arrays; /** * 這是我們用來測試的類 * * @author 404NOTFound */ public class Demo { public static void main(String[] args) { int[] src = new int[0]; int[] dest = new int[3]; src = dest; src[0] = 1; src[1] = 2; src[2] = 3; System.out.println(Arrays.toString(src)); } }
輸出結果:
b)使用Arrays類或者System類的靜態方法:Arrays.copyOf(),System.arraycopy(),傳入長度比原數組長度不同的參數就會拷貝建立一個長度不同的數組。
代碼如下:
import java.util.Arrays; public class Demo { public static void main(String[] args) { int[] src = new int[0]; src = Arrays.copyOf(src, 1); src[src.length - 1] = 1; System.out.println(Arrays.toString(src)); } }
c)使用ArrayList代替數組,通過泛型ArrayList可以儲存不同類型的對象。
代碼如下:
import java.util.ArrayList; import java.util.Arrays; public class Demo { public static void main(String[] args) { ArrayList<Integer> al = new ArrayList<>(); al.add(1); al.add(2); System.out.println("輸出長度:"+al.size()); al.add(3); System.out.println("輸出長度:"+al.size()); } }
輸出結果:
d)使用Vector,Vector儲存同類對象
代碼如下:
package test; import java.util.Vector; public class Test01 { public static void main(String[] args) { Vector vet = new Vector(); String str="test1"; double t1=0.124; vet.add(str); vet.add(String.valueOf(t1)); System.out.println("擷取大小:"+vet.size()); System.out.println(vet.get(0)); } }
輸出結果:
Java實現長度可變數組