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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java forEach使用

發布時間:2024/9/19 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java forEach使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java forEach使用

foreach 是 Java 中的一種語法糖,目的是方便程序員開發和提高性能。其實就是編譯期間以特定的字節碼或特定的方式來對這些語法進行處理。

1.普通數組forEach用法

對于數組,foreach 循環實際上還是用的普通的 for 循環,怎么說foreach 循環就是for 循環

int[] arr= {1,2,3,4,5} //forEach寫法(效果跟下面同等) for(int i:arr)System.out.println("數組元素:"+i);//普通for循環 for(int i=0;i<arr.length;i++) System.out.println("數組元素:"+arr[i]);

2.集合類forEach用法

對于集合,foreach 循環實際上是用的 iterator 迭代器迭代,寫法也一樣。

ArrayList<Integer> arrlist = new ArrayList<Integer>(); arrlist.add(1); arrlist.add(2); arrlist.add(3); //forEach用法 for(Integer a:arrlist)System.out.println("集合數據:"+a);//迭代器循環 for(Iterator<Integer> it = arrlist.iterator();it.hasNext();)System.out.println("集合數據:"+it.next());

3.forEach+lambda

這里調用ArrayList類的forEach方法,然后傳入lambda表達式

List<String> items = new ArrayList<>();items.add("A");items.add("B");items.add("C");//lambd+forEach方法items.forEach(item->System.out.println("集合數據:"+item));//forEach方法來自Iterable接口其他類重新//這里是ArrayList重寫forEach方法源碼public void forEach(Consumer<? super E> action) {Objects.requireNonNull(action);final int expectedModCount = modCount;final Object[] es = elementData;final int size = this.size;for (int i = 0; modCount == expectedModCount && i < size; i++)action.accept(elementAt(es, i));if (modCount != expectedModCount)throw new ConcurrentModificationException();}

接口方法描述:

default void forEach(Consumer<? super T> action)對Iterable的每個元素執行給定的操作,直到所有元素都被處理或動作引發異常。 除非實現類另有規定,否則按照迭代的順序執行操作(如果指定了迭代順序)。 動作拋出的異常被轉發給呼叫者。 實現要求: 默認實現的行為如下: for (T t : this) action.accept(t);

4.其他調用方法

//System.out::println這個到底是什么東東,請參考下面博客 items.forEach(System.out::println);

博客:https://blog.csdn.net/nrsc272420199/article/details/84727347

總結

以上是生活随笔為你收集整理的java forEach使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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