最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?List一些常用方法完全攻略

 更新時間:2026年04月20日 10:40:31   作者:愛喝一杯白開水  
List就是一個線性表,即n個具有相同類型元素的有限序列,在該序列上可以執(zhí)行增刪改查以及變量等操作,這篇文章主要介紹了Java List一些常用方法的相關(guān)資料,需要的朋友可以參考下

給 Java 新手的超全 List 使用指南

前言

學(xué) Java 的人,幾乎每天都要和 `List` 打交道。

它是最常用的數(shù)據(jù)結(jié)構(gòu)之一,面試會問、工作會用、代碼里到處都有它的身影。

別擔(dān)心,這篇博客不會堆砌概念,而是用**大白話 + 大量代碼**,帶你把 List 真正搞懂。

什么是 List?

`List` 是一個**有序的集合**,你可以把它想象成一個**動態(tài)數(shù)組**。

- ? 可以放重復(fù)的元素

- ? 有索引(從 0 開始)

- ? 長度可以動態(tài)增長

在 Java 中,最常用的實現(xiàn)類是 `ArrayList`。

// 創(chuàng)建一個 List
List<String> list = new ArrayList<>();

注意啦:`List` 是接口,`ArrayList` 是實現(xiàn)類。一般都用這種寫法。

1. 添加元素

add() — 往里加

List<String> fruits = new ArrayList<>();

fruits.add("蘋果");      // 加到末尾
fruits.add("香蕉");
fruits.add("橙子");

System.out.println(fruits);  // [蘋果, 香蕉, 橙子]

add(index, element) — 插隊

fruits.add(1, "葡萄");  // 插入到索引 1 的位置
System.out.println(fruits);  // [蘋果, 葡萄, 香蕉, 橙子]

addAll() — 批量添加

List<String> moreFruits = Arrays.asList("西瓜", "哈密瓜");
fruits.addAll(moreFruits);
System.out.println(fruits);  // [蘋果, 葡萄, 香蕉, 橙子, 西瓜, 哈密瓜]

2. 獲取元素

get(index) — 取出來

String first = fruits.get(0);    // 第一個
String second = fruits.get(1);  // 第二個
System.out.println(first);   // 蘋果
System.out.println(second);  // 葡萄

?? **注意**:索引從 0 開始,別越界了!否則會拋 `IndexOutOfBoundsException`。

3. 修改元素

set(index, element) — 替換

fruits.set(0, "草莓");  // 把第一個改成草莓
System.out.println(fruits);  // [草莓, 葡萄, 香蕉, 橙子, 西瓜, 哈密瓜]

4. 刪除元素

remove(index) — 按索引刪

fruits.remove(0);  // 刪除第一個
System.out.println(fruits);  // [葡萄, 香蕉, 橙子, 西瓜, 哈密瓜]

remove(element) — 按內(nèi)容刪

fruits.remove("香蕉");  // 刪除"香蕉"這個元素
System.out.println(fruits);  // [葡萄, 橙子, 西瓜, 哈密瓜]

clear() — 清空全部

fruits.clear();  // 全部刪掉
System.out.println(fruits);  // []

5. 查找元素

contains() — 查是否存在

boolean hasOrange = fruits.contains("橙子");
System.out.println(hasOrange);  // true

indexOf() — 查位置

int position = fruits.indexOf("橙子");
System.out.println(position);  // 1(找不到返回 -1)

isEmpty() — 判空

boolean empty = fruits.isEmpty();
System.out.println(empty);  // false(因為里面有東西)

6. 遍歷 List

這是最常用的操作之一,必須掌握!

普通 for 循環(huán)

for (int i = 0; i < fruits.size(); i++) {
    System.out.println(fruits.get(i));
}

增強 for 循環(huán)(推薦新手用)

for (String fruit : fruits) {
    System.out.println(fruit);
}

Iterator(面試常問!)

Iterator<String> it = fruits.iterator();
while (it.hasNext()) {
    String fruit = it.next();
    System.out.println(fruit);
}

forEach(Java 8+)

fruits.forEach(fruit -> System.out.println(fruit));

方法引用(更簡潔)

fruits.forEach(System.out::println);

7. 排序

Collections.sort() — 簡單排序

List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(2);
numbers.add(8);
numbers.add(1);
Collections.sort(numbers);
System.out.println(numbers);  // [1, 2, 5, 8]

自定義排序(Comparator)

List<String> names = new ArrayList<>();
names.add("Tom");
names.add("Alice");
names.add("Bob");
names.add("Diana");
// 按長度排序
names.sort(Comparator.comparingInt(String::length));
System.out.println(names);  // [Tom, Bob, Alice, Diana]

8. 轉(zhuǎn)換成數(shù)組

toArray()

String[] array = fruits.toArray(new String[0]);

for (String fruit : array) {
    System.out.println(fruit);
}

9. 數(shù)組轉(zhuǎn) List

Arrays.asList()

String[] colors = {"紅", "藍", "綠"};
List<String> colorList = Arrays.asList(colors);
System.out.println(colorList);  // [紅, 藍, 綠]

?? 注意:這個方法返回的 List **不能增刪**(是固定長度的)。如果需要可變的:

List<String> mutableList = new ArrayList<>(Arrays.asList(colors));

10. 常用技巧合集

判斷兩個 List 是否相等

List<String> a = Arrays.asList("1", "2", "3");
List<String> b = Arrays.asList("1", "2", "3");
System.out.println(a.equals(b));  // true

復(fù)制 List

List<String> original = new ArrayList<>(Arrays.asList("a", "b", "c"));
List<String> copy = new ArrayList<>(original);

替換所有元素(Java 8+)

List<String> words = new ArrayList<>(Arrays.asList("hello", "world"));
words.replaceAll(s -> s.toUpperCase());
System.out.println(words);  // [HELLO, WORLD]

過濾元素(Java 8+ Stream)

List<Integer> nums = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6));

List<Integer> even = nums.stream()
    .filter(n -> n % 2 == 0)
    .collect(Collectors.toList());

System.out.println(even);  // [2, 4, 6]

總結(jié)

| 操作 | 常用方法 |
|------|----------|
| 添加 | `add()`, `addAll()` |
| 獲取 | `get()` |
| 修改 | `set()` |
| 刪除 | `remove()`, `clear()` |
| 查找 | `contains()`, `indexOf()` |
| 遍歷 | `for`, `forEach`, `Iterator` |
| 排序 | `Collections.sort()`, `list.sort()` |

`List` 是 Java 開發(fā)中最基礎(chǔ)也最重要的集合類,**一定要熟練掌握**。

建議:把上面的代碼自己跑一遍,感受一下各個方法的效果。動手比看十遍都管用!

到此這篇關(guān)于Java List一些常用方法的文章就介紹到這了,更多相關(guān)Java List常用方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解SpringBoot中使用JPA作為數(shù)據(jù)持久化框架

    詳解SpringBoot中使用JPA作為數(shù)據(jù)持久化框架

    這篇文章主要介紹了SpringBoot中使用JPA作為數(shù)據(jù)持久化框架的相關(guān)知識,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • MyBatis后端對數(shù)據(jù)庫進行增刪改查等操作實例

    MyBatis后端對數(shù)據(jù)庫進行增刪改查等操作實例

    Mybatis是appach下開源的一款持久層框架,通過xml與java文件的緊密配合,避免了JDBC所帶來的一系列問題,下面這篇文章主要給大家介紹了關(guān)于MyBatis后端對數(shù)據(jù)庫進行增刪改查等操作的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • SpringBoot 2 統(tǒng)一異常處理過程解析

    SpringBoot 2 統(tǒng)一異常處理過程解析

    這篇文章主要介紹了SpringBoot 2 統(tǒng)一異常處理過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • java通過cglib動態(tài)生成實體bean的操作

    java通過cglib動態(tài)生成實體bean的操作

    這篇文章主要介紹了java通過cglib動態(tài)生成實體bean的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 詳解Spring中的Environment外部化配置管理

    詳解Spring中的Environment外部化配置管理

    本文主要介紹了Spring中的Environment外部化配置管理,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • java后臺驗證碼生成的實現(xiàn)方法

    java后臺驗證碼生成的實現(xiàn)方法

    在我們使用進行系統(tǒng)開發(fā)時,為了提高系統(tǒng)的安全性,在登錄的時候多數(shù)人都會要求輸入驗證,本文介紹了java后臺驗證碼生成的實現(xiàn)方法,感興趣的一起來了解一下
    2021-05-05
  • 用Java驗證pdf文件的電子章簽名

    用Java驗證pdf文件的電子章簽名

    這篇文章主要介紹了如何用Java驗證pdf文件的電子章簽名,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-12-12
  • 10k+點贊的 SpringBoot 后臺管理系統(tǒng)教程詳解

    10k+點贊的 SpringBoot 后臺管理系統(tǒng)教程詳解

    這篇文章主要介紹了10k+點贊的 SpringBoot 后臺管理系統(tǒng)教程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java中Comparable接口和Comparator接口的使用比較

    Java中Comparable接口和Comparator接口的使用比較

    Java中提供了兩種對集合或數(shù)組中元素進行排序的方法,一種是實現(xiàn)Comparable接口,另一種是實現(xiàn)Comparator接口,下面這篇文章主要給大家介紹了關(guān)于Java中Comparable接口和Comparator接口使用的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • SpringBoot實現(xiàn)獲取客戶端IP地理位置

    SpringBoot實現(xiàn)獲取客戶端IP地理位置

    在當(dāng)今互聯(lián)的世界中,了解客戶端的地理位置對于提供個性化服務(wù)和增強用戶體驗至關(guān)重要,使用本文為大家介紹了SpringBoot獲取客戶端IP地理位置的相關(guān)方法,需要的小伙伴可以參考下
    2023-11-11

最新評論

古浪县| 辉南县| 姚安县| 武鸣县| 来凤县| 金阳县| 高碑店市| 调兵山市| 文安县| 岳西县| 龙门县| 乐陵市| 兴安县| 郴州市| 潜山县| 阳泉市| 筠连县| 攀枝花市| 松江区| 林周县| 沽源县| 土默特右旗| 尉犁县| 鹿邑县| 常德市| 都江堰市| 璧山县| 凤凰县| 洪湖市| 湖南省| 龙川县| 海盐县| 沾益县| 堆龙德庆县| 聂拉木县| 黑山县| 通河县| 博罗县| 孝昌县| 苏州市| 闸北区|