List遍歷的幾種方式

一、普通for循環遍歷list

以往我們習慣使用for循環遍曆數組或者List集合。在ArrayList遍歷中,我們通常採用普通的 for 循環,通過 size() 來獲取 ArrayList 的長度,然後使用 get(i) 方法來獲取指定下標的元素。


List list = new ArrayList();
list.add("Apple");
list.add("Pear");
list.add("Peach");
for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}

由於ArrayList內部是一個數組來存儲元素,所以用普通for循環遍歷時,會隨著元素增多而逐漸變慢,因為每次get有一次定位的過程,數組越長,定位時間越長。

二、增強for循環遍歷list

jdk1.5之後增加了”增強for語法”,也稱為 “foreach」。” 增強for循環可以遍歷任何 collection 或者 數組,也稱為 For-each 循環,語法如下:


List list = new ArrayList();
list.add("Apple");
list.add("Pear");
list.add("Peach");
for (String fruit : list) {
    System.out.println(fruit);
}

此時會直接取得元素值。

三、通過iterator循環來遍歷list

基本步驟: 先讓迭代器指向第一個元素,然後只要迭代器能夠找到下一個元素就一直往下迭代。迭代器提供了remove() 方法,可以讓程序員在迭代期間從 underlying collection 中 安全刪除元素。

List list = new ArrayList();list.add("Apple");list.add("Pear");list.add("Peach");Iterator it = list.iterator();while (it.hasNext()) {    System.out.println(it.next());}

四、forEach方法遍歷list

Java8對collection介面增加了一個forEach()方法,它有一個Consumer類的參數。該方法可以讓我們通過Lambda表達式來遍歷集合,使代碼變得簡潔易讀。


List list = new ArrayList();
list.add("Apple");
list.add("Pear");
list.add("Peach");
list.forEach(fruit -> System.out.println(fruit));

五、高效的集合遍歷方式

另一種比較高效的遍歷方式是使用for each-loop中的變數進行遍歷,可以使用流式編程進行效率優化。


List list = new ArrayList();
list.add("Apple");
list.add("Pear");
list.add("Peach");
list.stream().forEach(fruit -> System.out.println(fruit));

六、使用parallelStream方法遍歷list

在使用Java 8中新增的方法parallelStream時,可以開啟並行流遍歷,加快集合遍歷速度。parallelStream是在Stream中使用的,只有順序存在依賴性才能被並行計算,stream與parallelStream的切換並不影響數據內容,只會影響遍歷方式。


List list = new ArrayList();
list.add("Apple");
list.add("Pear");
list.add("Peach");
list.parallelStream().forEach(fruit -> System.out.println(fruit));

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/187495.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-28 06:22
下一篇 2024-11-28 06:22

相關推薦

  • Tensor to List的使用

    Tensor to List是TensorFlow框架提供的一個非常有用的函數,在很多的深度學習模型中都會用到。它的主要功能是將TensorFlow中的張量(Tensor)轉換為P…

    編程 2025-04-29
  • Python遍歷集合中的元素

    本文將從多個方面詳細闡述Python遍歷集合中的元素方法。 一、for循環遍歷集合 Python中,使用for循環可以遍歷集合中的每個元素,代碼如下: my_set = {1, 2…

    編程 2025-04-29
  • Python如何遍歷字典中的key和value

    本文將詳細講解Python中如何遍歷字典中的key和value,包括多種遍歷方式以及在遍歷過程中的一些應用場景。 一、遍歷字典中的key和value 在Python中,字典是一種無…

    編程 2025-04-29
  • Python數據類型分為哪幾種

    Python作為一門非常靈活的編程語言,有著非常豐富的數據類型。Python的數據類型可以分為數字類型、字元串類型、列表類型、元組類型、字典類型和集合類型六種。 一、數字類型 Py…

    編程 2025-04-29
  • Python緩存圖片的處理方式

    本文將從多個方面詳細闡述Python緩存圖片的處理方式,包括緩存原理、緩存框架、緩存策略、緩存更新和緩存清除等方面。 一、緩存原理 緩存是一種提高應用程序性能的技術,在網路應用中流…

    編程 2025-04-29
  • 如何使用Python將輸出值賦值給List

    對標題進行精確、簡明的解答:本文將從多個方面詳細介紹Python如何將輸出的值賦值給List。我們將分步驟進行探討,以便讀者更好地理解。 一、變數類型 在介紹如何將輸出的值賦值給L…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python在線編輯器的優勢與實現方式

    Python在線編輯器是Python語言愛好者的重要工具之一,它可以讓用戶方便快捷的在線編碼、調試和分享代碼,無需在本地安裝Python環境。本文將從多個方面對Python在線編輯…

    編程 2025-04-28
  • Python List查找用法介紹

    在Python中,list是最常用的數據結構之一。在很多場景中,我們需要對list進行查找、篩選等操作。本文將從多個方面對Python List的查找方法進行詳細的闡述,包括基本查…

    編程 2025-04-28
  • 二叉樹非遞歸先序遍歷c語言

    本文將為您詳細介紹二叉樹的非遞歸先序遍歷演算法,同時提供完整的C語言代碼示例。通過本文,您將了解到二叉樹的先序遍歷演算法,以及非遞歸實現的方式。 一、二叉樹的先序遍歷演算法介紹 在介紹二…

    編程 2025-04-28

發表回復

登錄後才能評論