Java AbstractCollection中的iterator()方法及示例
Java中的Collection是一個非常重要的接口,它代表著一組對象的集合,提供了許多常用的操作方法,比如增加、刪除、查找元素,獲取集合的大小等。愛掏網 - it200.comAbstractCollection是Collection接口的實現類,它提供了一些基本的實現供子類繼承。愛掏網 - it200.com
AbstractCollection中的iterator()方法是其中一個非常重要的方法,它返回一個Iterator對象,用于遍歷當前集合中的元素。愛掏網 - it200.com下面我們就來詳細地介紹這個方法及其示例。愛掏網 - it200.com
我們先來看一下AbstractCollection中iterator()方法的定義:
public abstract Iterator<E> iterator();
可以看到,它沒有任何參數,返回類型是Iterator
示例代碼
接下來,我們將用一些示例代碼來演示iterator()方法是如何工作的。愛掏網 - it200.com
我們首先需要創建一個AbstractCollection的子類,實現iterator()方法。愛掏網 - it200.com這里我們自定義一個名為MyCollection的集合類:
import java.util.AbstractCollection;
import java.util.Iterator;
class MyCollection extends AbstractCollection<String> {
private String[] array;
private int size;
public MyCollection(String[] array) {
this.array = array;
this.size = array.length;
}
@Override
public int size() {
return size;
}
@Override
public Iterator<String> iterator() {
return new MyIterator(array);
}
private static class MyIterator implements Iterator<String> {
private String[] array;
private int cursor;
public MyIterator(String[] array) {
this.array = array;
this.cursor = 0;
}
@Override
public boolean hasNext() {
return cursor < array.length;
}
@Override
public String next() {
return array[cursor++];
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
}
}
這個集合類中包含了一個String類型的數組,使用size()方法返回數組的大小。愛掏網 - it200.comiterator()方法返回一個MyIterator對象,這個對象實現了Iterator接口,用于遍歷存儲在數組中的元素。愛掏網 - it200.com
下面是我們使用MyCollection類的示例代碼:
public class Main {
public static void main(String[] args) {
String[] array = {"a", "b", "c"};
MyCollection coll = new MyCollection(array);
Iterator<String> it = coll.iterator();
while (it.hasNext()) {
String s = it.next();
System.out.println(s);
}
}
}
在這個示例中,我們創建了一個包含三個元素的字符串數組,使用MyCollection類將這個數組包裝成集合。愛掏網 - it200.com然后我們通過iterator()方法獲取到一個Iterator對象,使用while循環遍歷這個集合中的所有元素。愛掏網 - it200.com
運行結果
最后,我們來看一下這個示例的運行結果:
a
b
c
上面的代碼演示了如何使用AbstractCollection中的iterator()方法實現遍歷Collection集合,我們可以發現,只要實現iterator()方法并返回正確的Iterator對象,就可以對Collection集合進行遍歷操作。愛掏網 - it200.com
結論
在Java中,AbstractCollection是Collection接口的一個基本實現類,它提供了一些基本的實現供子類繼承。愛掏網 - it200.com其中的iterator()方法是用于遍歷集合中的所有元素,返回一個Iterator對象。愛掏網 - it200.com我們可以根據不同的需求來實現這個方法,并使用它來遍歷集合中的所有元素。愛掏網 - it200.com