Java ArrayList
Java ArrayList
類(lèi)是一個(gè)可變大小的數(shù)組,位于 java.util
包中。
創(chuàng)建 ArrayList
import java.util.ArrayList;
ArrayList<String> cars = new ArrayList<String>(); // 創(chuàng)建一個(gè) ArrayList 對(duì)象
添加元素
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
訪問(wèn)元素
cars.get(0); // 獲取第一個(gè)元素
修改元素
cars.set(0, "Opel"); // 修改第一個(gè)元素
刪除元素
cars.remove(0); // 刪除第一個(gè)元素
cars.clear(); // 刪除所有元素
ArrayList 大小
cars.size(); // 獲取 ArrayList 大小
循環(huán)遍歷 ArrayList
for 循環(huán):
for (int i = 0; i < cars.size(); i++) {
System.out.println(cars.get(i));
}
for-each 循環(huán):
for (String car : cars) {
System.out.println(car);
}
使用其他類(lèi)型
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);
對(duì) ArrayList 進(jìn)行排序
import java.util.Collections;
Collections.sort(cars); // 對(duì)字符串的 ArrayList 進(jìn)行排序
Collections.sort(myNumbers); // 對(duì)整數(shù)的 ArrayList 進(jìn)行排序
ArrayList
是 Java 中常用的數(shù)據(jù)結(jié)構(gòu),它可以存儲(chǔ)各種類(lèi)型的數(shù)據(jù),并且可以根據(jù)需要調(diào)整大小。
ArrayList 的優(yōu)勢(shì):
- 可變大小
- 可以存儲(chǔ)各種類(lèi)型的數(shù)據(jù)
- 提供多種方法來(lái)訪問(wèn)、修改和刪除元素
- 可以使用
Collections
類(lèi)進(jìn)行排序
ArrayList 的劣勢(shì):
- 速度比數(shù)組慢
- 可能會(huì)浪費(fèi)內(nèi)存空間
建議:
- 當(dāng)需要存儲(chǔ)可變大小的數(shù)據(jù)集合時(shí),使用
ArrayList
。 - 當(dāng)需要快速訪問(wèn)數(shù)據(jù)時(shí),使用數(shù)組。
- 當(dāng)需要存儲(chǔ)大量數(shù)據(jù)時(shí),考慮使用其他數(shù)據(jù)結(jié)構(gòu),例如
HashMap
。
Java LinkedList
LinkedList
類(lèi)與 ArrayList
類(lèi)相似,但它們之間也有一些重要的區(qū)別。
創(chuàng)建 LinkedList
// 導(dǎo)入 LinkedList 類(lèi)
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
相同點(diǎn):
- 它們都實(shí)現(xiàn)了
List
接口,因此它們具有相同的方法。 - 它們都可用于存儲(chǔ)各種類(lèi)型的數(shù)據(jù)。
- 它們都允許您添加、刪除和修改元素。
不同點(diǎn):
-
ArrayList
使用數(shù)組存儲(chǔ)數(shù)據(jù),而LinkedList
使用鏈表存儲(chǔ)數(shù)據(jù)。 -
ArrayList
通常更快,因?yàn)樗梢灾苯釉L問(wèn)元素。 -
LinkedList
更靈活,因?yàn)樗梢愿p松地插入和刪除元素。
何時(shí)使用:
- 如果您需要快速訪問(wèn)列表中的隨機(jī)元素,請(qǐng)使用
ArrayList
。 - 如果您需要經(jīng)常插入和刪除元素,請(qǐng)使用
LinkedList
。
LinkedList 方法
LinkedList
提供了一些 ArrayList
沒(méi)有的方法,這些方法可以更有效地執(zhí)行某些操作:
方法 | 描述 |
---|---|
addFirst() |
將元素添加到列表的開(kāi)頭。 |
addLast() |
在列表的末尾添加元素。 |
removeFirst() |
從列表的開(kāi)頭刪除元素。 |
removeLast() |
從列表的末尾刪除元素。 |
getFirst() |
獲取列表開(kāi)頭的元素。 |
getLast() |
獲取列表末尾的元素。 |
示例
// 添加元素到列表的開(kāi)頭
cars.addFirst("Toyota");
// 添加元素到列表的末尾
cars.addLast("Mercedes");
// 刪除列表開(kāi)頭的元素
cars.removeFirst();
// 刪除列表末尾的元素
cars.removeLast();
// 獲取列表開(kāi)頭的元素
String firstCar = cars.getFirst();
// 獲取列表末尾的元素
String lastCar = cars.getLast();
LinkedList
是一種靈活的數(shù)據(jù)結(jié)構(gòu),可以有效地執(zhí)行某些操作。如果您需要經(jīng)常插入和刪除元素,LinkedList
是一個(gè)不錯(cuò)的選擇。
最后
為了方便其他設(shè)備和平臺(tái)的小伙伴觀看往期文章:
微信公眾號(hào)搜索:Let us Coding
,關(guān)注后即可獲取最新文章推送文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-837908.html
看完如果覺(jué)得有幫助,歡迎 點(diǎn)贊、收藏、關(guān)注文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-837908.html
到了這里,關(guān)于Java ArrayList 與 LinkedList 的靈活選擇的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!