Java中增強for循環(huán)代碼示例
增強for循環(huán)(Enhanced for loop),也被稱為for-each循環(huán),是一種簡化遍歷數(shù)組和集合元素的語法結(jié)構(gòu)。它可以遍歷數(shù)組、集合或其他實現(xiàn)了Iterable接口的數(shù)據(jù)結(jié)構(gòu)。
增強for循環(huán)的語法結(jié)構(gòu)如下:
for (元素類型 變量名 : 需要遍歷的數(shù)組或集合) { // 進行操作 }
其中,元素類型表示數(shù)組或集合中元素的類型,變量名表示每次迭代中獲取到的當前元素的值。在循環(huán)體中,可以直接使用變量名訪問當前的元素,并執(zhí)行相應(yīng)的操作。增強for循環(huán)的優(yōu)點是簡潔、易讀,并且能夠避免索引操作,適用于不需要修改數(shù)組或集合元素的情況。
以下是一個示例,展示如何使用增強for循環(huán)遍歷數(shù)組和集合:
//數(shù)組
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number);
}
//集合
ArrayList<String> names = new ArrayList<>();
names.add("測試");
names.add("你好");
for (String name : names) {
System.out.println(name);
}在上述示例中,第一個循環(huán)使用增強for循環(huán)遍歷整型數(shù)組numbers,并將每個元素打印出來。第二個循環(huán)使用增強for循環(huán)遍歷字符串類型的ArrayList集合names,同樣將每個元素打印出來。需要注意的是,增強for循環(huán)不能對集合進行修改(添加、刪除等)。如果需要在循環(huán)過程中對集合進行操作,仍然需要使用迭代器或傳統(tǒng)的for循環(huán)。
增強for循環(huán)適用于只需要訪問數(shù)組或集合中的每個元素,并且不需要索引或迭代器的情況。它提供了一種簡潔而直觀的方式來遍歷數(shù)組或集合中的元素。需要注意的是,增強for循環(huán)是只讀的,即不能通過它來修改數(shù)組或集合中的元素。如果需要修改元素,仍然需要使用傳統(tǒng)的for循環(huán)或迭代器來完成。
附:定制自己的增強for循環(huán)
眾所周知,增強for循環(huán)是按數(shù)組或者集合的內(nèi)在順序輸出的,如果我們想在遍歷的時候定制行為怎么做呢?下面就以一個逆序輸出的例子說明怎么定制自己的增強for循環(huán)。
要想使用增強for循環(huán),必須實現(xiàn)Iterable接口。
import java.util.Iterator;
/**
* 一個簡單的逆序輸出增強for循環(huán)
* @author
*
*/
public class ReverIterableClass<T> implements Iterable<T> {
protected T[] elements;
public ReverIterableClass(T... elems) {
this.elements=elems;
//this.object=(T[])new Object[ts.length];
}
public Iterator<T> iterator() {
return new Iterator<T>(){
private int current=elements.length-1;
public boolean hasNext() {
return current>-1;
}
public T next() {
return elements[current--];
}
public void remove() {
throw new UnsupportedOperationException("目前不支持刪除操作");
}
};
}
public static void main(String[] args){
ReverIterableClass<String> iterableClass=new ReverIterableClass<String>("a","b","c","d");
for(String s:iterableClass){
System.out.println(s);
}
}
}在這個程序里我們定制了自己的輸出行為--逆序輸出,當然你也可以定義屬于你自己的,只需要在next()函數(shù)里寫處理代碼即可。
總結(jié)
到此這篇關(guān)于Java中增強for循環(huán)代碼示例的文章就介紹到這了,更多相關(guān)Java 增強for循環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java開發(fā)HashMap?key必須實現(xiàn)hashCode?equals方法原理
這篇文章主要為大家介紹了Java開發(fā)HashMap?key必須實現(xiàn)hashCode?equals方法原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03
Java多線程應(yīng)用循環(huán)輸出ABC方式
這篇文章主要介紹了Java多線程應(yīng)用循環(huán)輸出ABC方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05
java?AES加密/解密實現(xiàn)完整代碼(附帶源碼)
這篇文章主要介紹了java?AES加密/解密實現(xiàn)的相關(guān)資料,包括AES加密算法的基本原理、Java加密API的使用方法以及項目實現(xiàn)的步驟和代碼示例,需要的朋友可以參考下2025-04-04
Java調(diào)用Oss JDk實現(xiàn)刪除指定目錄下的所有文件
這篇文章主要為大家詳細介紹了Java如何調(diào)用Oss JDk實現(xiàn)刪除指定目錄下的所有文件功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2025-03-03
SpringBoot項目中使用@Scheduled讀取動態(tài)參數(shù)
這篇文章主要介紹了SpringBoot項目中使用@Scheduled讀取動態(tài)參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11

