Java對象數(shù)組是由相同類型的對象構(gòu)成的有序集合,可以在一個變量中存儲多個對象。在Java中,對象數(shù)組的聲明與基本類型數(shù)組的聲明方法相同,只需在類型的后面添加一對方括號。例如:
Person[] persons = new Person[3];
上面的代碼創(chuàng)建了一個包含3個Person對象的數(shù)組。當(dāng)創(chuàng)建一個數(shù)組時,Java會自動為每個元素分配內(nèi)存空間,并將其初始化為默認(rèn)值(比如null或0)。
Java對象數(shù)組在內(nèi)存中的存儲結(jié)構(gòu)
Java對象數(shù)組在內(nèi)存中是連續(xù)的,每個元素占用相同的內(nèi)存空間。因此,可以使用下標(biāo)訪問或操作數(shù)組中的任何元素,例如:
persons[0] = new Person("Bob", 25);persons[1] = new Person("Alice", 23);persons[2] = new Person("Charlie", 30);
上面的代碼通過下標(biāo)操作給數(shù)組中的每個元素賦值。在內(nèi)存中,這些元素是連續(xù)的,如下圖所示:
Java對象數(shù)組的應(yīng)用
Java對象數(shù)組常用于以下場景:
存儲和處理大量的對象。
實現(xiàn)列表、隊列、堆棧等數(shù)據(jù)結(jié)構(gòu)。
傳遞和返回多個對象。
實現(xiàn)多維數(shù)組。
例如,可以使用對象數(shù)組來存儲學(xué)生信息,并通過循環(huán)遍歷數(shù)組來打印每個學(xué)生的成績:
class Student { String name; int score;}Student[] students = new Student[3];students[0] = new Student("Bob", 80);students[1] = new Student("Alice", 90);students[2] = new Student("Charlie", 70);for (int i = 0; i < students.length; i++) { System.out.println(students[i].name + ": " + students[i].score);}
上面的代碼使用對象數(shù)組來存儲學(xué)生信息。在循環(huán)中,通過下標(biāo)訪問數(shù)組中的每個學(xué)生,然后打印它的成績。輸出結(jié)果如下:
Bob: 80Alice: 90Charlie: 70