Java ArrayList
Java ArrayList
類是一個可變大小的陣列,位於 java.util
包中。
建立 ArrayList
import java.util.ArrayList;
ArrayList<String> cars = new ArrayList<String>(); // 建立一個 ArrayList 物件
新增元素
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
訪問元素
cars.get(0); // 獲取第一個元素
修改元素
cars.set(0, "Opel"); // 修改第一個元素
刪除元素
cars.remove(0); // 刪除第一個元素
cars.clear(); // 刪除所有元素
ArrayList 大小
cars.size(); // 獲取 ArrayList 大小
迴圈遍歷 ArrayList
for 迴圈:
for (int i = 0; i < cars.size(); i++) {
System.out.println(cars.get(i));
}
for-each 迴圈:
for (String car : cars) {
System.out.println(car);
}
使用其他型別
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);
對 ArrayList 進行排序
import java.util.Collections;
Collections.sort(cars); // 對字串的 ArrayList 進行排序
Collections.sort(myNumbers); // 對整數的 ArrayList 進行排序
ArrayList
是 Java 中常用的資料結構,它可以儲存各種型別的資料,並且可以根據需要調整大小。
ArrayList 的優勢:
- 可變大小
- 可以儲存各種型別的資料
- 提供多種方法來訪問、修改和刪除元素
- 可以使用
Collections
類進行排序
ArrayList 的劣勢:
- 速度比陣列慢
- 可能會浪費記憶體空間
建議:
- 當需要儲存可變大小的資料集合時,使用
ArrayList
。 - 當需要快速訪問資料時,使用陣列。
- 當需要儲存大量資料時,考慮使用其他資料結構,例如
HashMap
。
Java LinkedList
LinkedList
類與 ArrayList
類相似,但它們之間也有一些重要的區別。
建立 LinkedList
// 匯入 LinkedList 類
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
ArrayList 與 LinkedList
相同點:
- 它們都實現了
List
介面,因此它們具有相同的方法。 - 它們都可用於儲存各種型別的資料。
- 它們都允許您新增、刪除和修改元素。
不同點:
ArrayList
使用陣列儲存資料,而LinkedList
使用連結串列儲存資料。ArrayList
通常更快,因為它可以直接訪問元素。LinkedList
更靈活,因為它可以更輕鬆地插入和刪除元素。
何時使用:
- 如果您需要快速訪問列表中的隨機元素,請使用
ArrayList
。 - 如果您需要經常插入和刪除元素,請使用
LinkedList
。
LinkedList 方法
LinkedList
提供了一些 ArrayList
沒有的方法,這些方法可以更有效地執行某些操作:
方法 | 描述 |
---|---|
addFirst() |
將元素新增到列表的開頭。 |
addLast() |
在列表的末尾新增元素。 |
removeFirst() |
從列表的開頭刪除元素。 |
removeLast() |
從列表的末尾刪除元素。 |
getFirst() |
獲取列表開頭的元素。 |
getLast() |
獲取列表末尾的元素。 |
示例
// 新增元素到列表的開頭
cars.addFirst("Toyota");
// 新增元素到列表的末尾
cars.addLast("Mercedes");
// 刪除列表開頭的元素
cars.removeFirst();
// 刪除列表末尾的元素
cars.removeLast();
// 獲取列表開頭的元素
String firstCar = cars.getFirst();
// 獲取列表末尾的元素
String lastCar = cars.getLast();
LinkedList
是一種靈活的資料結構,可以有效地執行某些操作。如果您需要經常插入和刪除元素,LinkedList
是一個不錯的選擇。
最後
為了方便其他裝置和平臺的小夥伴觀看往期文章:
微信公眾號搜尋:Let us Coding
,關注後即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關注