日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java里面遍历list的方式

發布時間:2023/11/29 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java里面遍历list的方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題:Java里面遍歷list的方式

對于Java語言有點陌生,我嘗試熟悉遍歷list(或者其他集合)的所有方法(或者是其他正確的語法)和它們每一個方法的優缺點

給定 List的list對象,我知道有下列方法去循環所有的元素

基于循環的(當然這也等價于while/do while循環)

// 不推薦哈,看下面 for (int i = 0; i < list.size(); i++) {E element = list.get(i);// 1 - 可以調用元素的方法// 2 - 可以使用i去做一些基于下標的方法調用// ... }

循環的增強版本 (很好地回答了這個問題)

for (E element : list) {// 1 - 調用元素的方法// ... }

迭代器

for (Iterator<E> iter = list.iterator(); iter.hasNext(); ) {E element = iter.next();// 1 - 調用元素的方法// 2 - 可以用 iter.remove() 方法從list上移除當前元素// ... }

List迭代器

for (ListIterator<E> iter = list.listIterator(); iter.hasNext(); ) {E element = iter.next();// 1 - 調用元素的方法// 2 - 可以用 iter.remove() 方法從list上移除當前元素// 3 - 可以用 iter.add(...) 在當前元素和下一個元素之間插入新元素// 4 -可以用iter.set(...) 取代當前元素// ... }

Java函數

list.stream().map(e -> e + 1); // 可以對e用一個轉換函數

Iterable.forEach, Stream.forEach, …

(來自Java的stream API的映射方法 )

在Java8集合實現了 Iterable接口的類型(例如所有的list)里面,都要一個forEach的方法,可以代替上面的循環語句使用了(提供一個優秀的對比那就是另一個問題了)

Arrays.asList(1,2,3,4).forEach(System.out::println); // 1 - 調用元素的方法 // 2 - 需要一個里面元素的引用用來移除它們 // // 3 - 從功能上分離迭代和發生在每一個元素上的行為Arrays.asList(1,2,3,4).stream().forEach(System.out::println); // Same capabilities as above plus potentially greater utilization of parallelism // 實現相同的功能,上面的更加好,因為使用了并行 // 注意:因此,執行的順序是不能保證的 // 想了解更多關于這個的請看 [Stream.forEachOrdered][stream-foreach-ordered]

還有任何的其他方法嗎?
(順便說一下,我不是對提升性能感興趣。作為一個開發人員,我只是想知道什么方式是可用的而已)

回答

一種JDK8風格的迭代:

public class IterationDemo {public static void main(String[] args) {List<Integer> list = Arrays.asList(1, 2, 3);list.stream().forEach(elem -> System.out.println("element " + elem));} }

文章翻譯自Stack Overflow:https://stackoverflow.com/questions/18410035/ways-to-iterate-over-a-list-in-java

總結

以上是生活随笔為你收集整理的Java里面遍历list的方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。