Java中的對象數組和容器都是用來存儲多個對象的數據結構,但它們在實現和使用上有所不同。
對象數組是一種最基本的數據結構,它可以存儲一組對象,可以通過下標來訪問每個元素。例如,我們可以創建一個Person對象數組:
Person[] persons = new Person[10];
我們可以使用下標來訪問數組中的每個元素:
Person p1 = persons[0];
Person p2 = persons[1];
//...
但是,對象數組的長度是固定的,一旦創建,就不能再改變數組的大小。
與對象數組不同,容器是一種動態的數據結構,可以在運行時添加或刪除元素,而不需要固定容量。
Java提供了許多容器類,如ArrayList、LinkedList、HashMap等,這些容器都實現了java.util.Collection接口或其子接口。
例如,我們可以使用ArrayList來存儲Person對象:
List<Person> personList = new ArrayList<>();
我們可以通過add()方法向personList中添加元素:
personList.add(p1);
personList.add(p2);
//...
我們也可以通過get()方法來獲取指定下標的元素:
Person p = personList.get(0);
與對象數組相比,容器的優點是可以動態地添加或刪除元素,而不需要預先知道容器的大小。
總的來說,對象數組和容器都是用來存儲多個對象的數據結構,但它們在實現和使用上有所不同,根據具體的需求選擇合適的數據結構是非常重要的。