在java編程中,我們經常需要對集合類進行遍歷操作,而迭代器就是用來實現這個功能的。通過迭代器,我們可以方便地遍歷集合類中的元素,進行相關操作。
一、迭代器的作用
迭代器可以幫助我們實現對集合類的遍歷操作,遍歷集合類的元素並進行相關操作。通過迭代器,我們可以訪問集合中的元素,而不需要了解集合類的內部結構。這樣就使得代碼更加的簡潔和易懂。
迭代器提供了順序訪問集合中的元素的方法,無需關心集合內部的存儲方式。我們可以通過迭代器對象對集合進行迭代訪問,並可以通過迭代器對象對集合中的元素進行增加、刪除、修改等操作。
// 創建一個List集合
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
// 獲取迭代器對象並遍歷集合元素
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
二、迭代器的使用方法
迭代器是通過集合類的iterator()方法來獲取的,它是Iterator接口的實現類。Iterator接口提供了三個方法,分別是hasNext()、next()和remove()。
- hasNext()方法:判斷是否還有下一個元素,有則返回true,否則返回false。
- next()方法:返回當前元素,並將指針移到下一個元素,如果沒有下一個元素則拋出NoSuchElementException異常。
- remove()方法:將集合中迭代器返回的上一個元素刪除,如果還沒有調用next()方法或者已經調用remove()方法,則調用remove()方法會拋出IllegalStateException異常。
// 創建一個List集合
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
// 獲取迭代器對象並遍歷集合元素
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
// 獲取當前元素並輸出
String element = iterator.next();
System.out.println(element);
// 刪除當前元素
iterator.remove();
}
三、迭代器在不同集合類中的使用
1. List
List是一個有序的集合類,允許重複元素的出現。List集合類有兩種遍歷方式:
- for循環遍歷:通過for循環對List集合進行遍歷操作。
- 迭代器遍歷:通過獲取迭代器對象遍歷List集合。
// 創建一個List集合
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
// 使用for循環遍歷集合元素
for(int i=0; i<list.size(); i++){
System.out.println(list.get(i));
}
// 使用迭代器遍歷集合元素
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
2. Set
Set是一個無序的集合類,是不允許重複元素出現的。Set集合類同樣有兩種遍歷方式:
- for-each循環遍歷:通過for-each循環對Set集合進行遍歷操作。
- 迭代器遍歷:通過獲取迭代器對象遍歷Set集合。
// 創建一個Set集合
Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("C");
// 使用for-each循環遍歷集合元素
for(String element : set){
System.out.println(element);
}
// 使用迭代器遍歷集合元素
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
3. Map
Map是一個集合類,存儲鍵值對,不允許重複的鍵出現。Map集合類有三種遍歷方式:
- for-each循環遍歷鍵值對:通過for-each循環遍歷Map集合的鍵值對。
- 迭代器遍歷鍵值對:通過獲取迭代器對象遍歷Map集合的鍵值對。
- 迭代器遍歷鍵、迭代器遍歷值:通過獲取迭代器對象遍歷Map集合的鍵和值。
// 創建一個Map集合
Map<Integer, String> map = new HashMap<>();
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
// 使用for-each循環遍歷Map集合的鍵值對
for(Map.Entry<Integer, String> entry : map.entrySet()){
System.out.println(entry.getKey() + "=" + entry.getValue());
}
// 使用迭代器遍歷Map集合的鍵值對
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<Integer, String> entry = iterator.next();
System.out.println(entry.getKey() + "=" + entry.getValue());
}
// 使用迭代器遍歷Map集合的鍵
Iterator<Integer> keyIterator = map.keySet().iterator();
while(keyIterator.hasNext()){
Integer key = keyIterator.next();
System.out.println(key);
}
// 使用迭代器遍歷Map集合的值
Iterator<String> valueIterator = map.values().iterator();
while(valueIterator.hasNext()){
String value = valueIterator.next();
System.out.println(value);
}
四、總結
迭代器是用來實現對集合類進行遍歷的,可以方便地遍歷集合中的元素並進行相關操作。迭代器的使用方法包括獲取迭代器對象、判斷是否還有下一個元素、返回當前元素並將指針移到下一個元素等操作。在不同的集合類中,迭代器也有不同的使用方法,需要依據實際情況進行選擇。
原創文章,作者:MLCR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/146105.html
微信掃一掃
支付寶掃一掃