java forEach使用
生活随笔
收集整理的這篇文章主要介紹了
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使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL语句学习
- 下一篇: 王自如首次谈入职格力:跟顶级企业家一起工