淺談java 增強(qiáng)型的for循環(huán) for each
For-Each循環(huán)
For-Each循環(huán)也叫增強(qiáng)型的for循環(huán),或者叫foreach循環(huán)。
For-Each循環(huán)是JDK5.0的新特性(其他新特性比如泛型、自動(dòng)裝箱等)。
For-Each循環(huán)的加入簡化了集合的遍歷。
其語法如下:
for(type element: array)
{
System.out.println(element);
}
例子
其基本使用可以直接看代碼:
代碼中首先對(duì)比了兩種for循環(huán);之后實(shí)現(xiàn)了用增強(qiáng)for循環(huán)遍歷二維數(shù)組;最后采用三種方式遍歷了一個(gè)List集合。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ForeachTest
{
public static void main(String[] args)
{
int[] arr = {1, 2, 3, 4, 5};
System.out.println("----------舊方式遍歷------------");
//舊式方式
for(int i=0; i<arr.length; i++)
{
System.out.println(arr[i]);
}
System.out.println("---------新方式遍歷-------------");
//新式寫法,增強(qiáng)的for循環(huán)
for(int element:arr)
{
System.out.println(element);
}
System.out.println("---------遍歷二維數(shù)組-------------");
//遍歷二維數(shù)組
int[][] arr2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} ;
for(int[] row : arr2)
{
for(int element : row)
{
System.out.println(element);
}
}
//以三種方式遍歷集合List
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
System.out.println("----------方式1-----------");
//第一種方式,普通for循環(huán)
for(int i = 0; i < list.size(); i++)
{
System.out.println(list.get(i));
}
System.out.println("----------方式2-----------");
//第二種方式,使用迭代器
for(Iterator<String> iter = list.iterator(); iter.hasNext();)
{
System.out.println(iter.next());
}
System.out.println("----------方式3-----------");
//第三種方式,使用增強(qiáng)型的for循環(huán)
for(String str: list)
{
System.out.println(str);
}
}
}
For-Each循環(huán)的缺點(diǎn):丟掉了索引信息。
當(dāng)遍歷集合或數(shù)組時(shí),如果需要訪問集合或數(shù)組的下標(biāo),那么最好使用舊式的方式來實(shí)現(xiàn)循環(huán)或遍歷,而不要使用增強(qiáng)的for循環(huán),因?yàn)樗鼇G失了下標(biāo)信息。
以上就是小編為大家?guī)淼臏\談java 增強(qiáng)型的for循環(huán) for each的全部內(nèi)容了,希望對(duì)大家有所幫助,多多支持腳本之家~
相關(guān)文章
淺談SpringSecurity注解與AOP切面執(zhí)行順序
這篇文章主要介紹了淺談SpringSecurity注解與AOP切面執(zhí)行順序,引入Spring Security后,在Controller的方法中會(huì)出現(xiàn)Spring Security的方法注解與AOP同時(shí)存在的問題,這是就會(huì)設(shè)計(jì)順序問題,需要的朋友可以參考下2023-10-10
Java讀取項(xiàng)目json文件并轉(zhuǎn)為JSON對(duì)象的操作
這篇文章主要介紹了Java讀取項(xiàng)目json文件并轉(zhuǎn)為JSON對(duì)象的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
java selenium使用瀏覽器調(diào)試工具實(shí)現(xiàn)方法
本文主要介紹java selenium使用瀏覽器調(diào)試工具,這里整理了幾種瀏覽器的調(diào)試方法,有需要的小伙伴可以參考下2016-08-08
spring boot優(yōu)雅集成redisson詳解
這篇文章主要為大家介紹了spring boot優(yōu)雅集成redisson詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Java IO學(xué)習(xí)之緩沖輸入流(BufferedInputStream)
這篇文章主要介紹了Java IO學(xué)習(xí)之緩沖輸入流(BufferedInputStream)的相關(guān)資料,需要的朋友可以參考下2017-02-02
Spring根據(jù)XML配置文件 p名稱空間注入屬性的實(shí)例
下面小編就為大家分享一篇Spring根據(jù)XML配置文件 p名稱空間注入屬性的實(shí)例,具有很好的參考價(jià)值。希望對(duì)大家有所幫助2017-11-11
JAVA進(jìn)階之HashMap底層實(shí)現(xiàn)解析
Hashmap是java面試中經(jīng)常遇到的面試題,大部分都會(huì)問其底層原理與實(shí)現(xiàn),為了能夠溫故而知新,特地寫了這篇文章,以便時(shí)時(shí)學(xué)習(xí)2021-11-11
Spring中的AutowireCandidateResolver的具體使用詳解
這篇文章主要介紹了Spring中的AutowireCandidateResolver的具體使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04

