為什么要使用集合
存盤多個資料可以使用陣列,但由于陣列在記憶體中是連續存盤的,所以會有一些限制,比如陣列在創建時就要指定長度,即可以容納的元素個數,且指定后無法更改;陣列在創建時需要指定元素的型別,并且所有元素都必須是該型別或其子類;添加或洗掉陣列中的元素需要創建一個新陣列再進行元素復制,比較麻煩,下面是 Person 陣列擴容的示意代碼,
// 給 people1 陣列末尾添加一個元素
public class PersonArray {
public static void main(String[] args) {
Person[] people1 = new Person[1];
people1[0] = new Person();
// 創建新陣列
Person[] people2 = new Person[people1.length + 1];
// 復制 people1 陣列的元素到 people2
for (int i = 0; i < people1.length; i++) {
people2[i] = people1[i];
}
// 添加新元素
people2[people2.length - 1] = new Person();
}
}
陣列可以通過索引快速訪問和操作元素,在許多場景下仍然是非常有用的,但如果需要動態調整大小或保存不同型別的元素,則可以考慮使用集合類來代替陣列,集合類還提供了一系列增加、洗掉、修改和查找元素的方法,集合框架中還提供了多種優化和封裝好的實作類,通過使用合適的集合類可以更高效地組織和操作資料,
集合框架體系
Java 的集合類很多,主要有Collection和Map兩個介面,層次關系如下圖,


Collection介面有List和Set這兩個重要的子介面,它們的實作子類都是單列集合,其中List介面表示有序的、可以包含重復元素的集合,常見的實作類有ArrayList、LinkedList和Vector,Set介面表示無序的且不包含重復元素的集合,常見的實作類有HashSet、TreeSet和LinkedHashSet,
Map介面實作子類是雙列集合,表示一組鍵值對的映射,其中每個鍵都是唯一的,常見的實作類有HashMap、Hashtable和Properties,
public class AddElements() {
public static void main(String[] args) {
ArrayList<Object> list = new ArrayList<>();
list.add("黃蓉");
list.add("郭靖");
HashMap hashMap = new HashMap();
hashMap.put("001", "黃蓉");
hashMap.put("002", "郭靖");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/554740.html
標籤:Java
上一篇:websocket
下一篇:返回列表
