Giriş
Her Collection bu arayüzden kalıtır. Örneğin Set arayüzü Iterable'dan kalıtır.
Her Collection bu arayüzden kalıtır. Örneğin Set arayüzü Iterable'dan kalıtır.
public interface Set<E> extends Collection<E> {
}
Kalıtmayan bir veri yapısı ise Map arayüzü. Neden böyle olduğunun açıklaması burada. Dolayısıyla Map arayüzünden iterator ve spliterator metodları yok.
Eğer kendi sınıfımız bu arayüzden kalıtırsa Java'daki for döngüsü ile kullanılabilir. Açıklaması şöyle.
Şöyle yaparız.
Çoğu Collection aynı zamanda Iterable olduğu için
list.forEach (...) şeklinde yapılabilir.
iterator metodu
Örnek ver
public interface Map<K, V> {
default void forEach(BiConsumer<? super K, ? super V> action) {
...
}
}
Bazı geliştiriciler kendi Map sınıflarının Iterable'dan kalıtmasını tercih etmişler. Örneğin Hazelcast IMap arayüzü. Kodu şöyle
public interface IMap<K, V> extends
ConcurrentMap<K, V>, BaseMap<K, V>, Iterable<Map.Entry<K, V>> {
...
}
Kendi Sınıfımız
The CustomList class implements Iterable, which allows us to use "for" with the list.Örnek
Şöyle yaparız.
public class CustomList<T> implements Iterable<T> {
...
}
forEach metoduÇoğu Collection aynı zamanda Iterable olduğu için
list.forEach (...) şeklinde yapılabilir.
iterator metodu
Örnek ver
spliterator metodu
Spliterator nesnesi döner
Spliterator nesnesi döner
Hiç yorum yok:
Yorum Gönder