Giriş
C++'ta bir çok iterator şöyledir.
Tanımlama
Şöyle yaparız
Açıklaması şöyle.
Şöyle yaparız. Döngüden çıkmak için exception fırlatmak gerekir. return yeterli değildir.
E tipinin String olduğunu varsayarsak şöyle yaparız.
Şöyle yaparız.
remove metodu
Örnek ver
C++'ta bir çok iterator şöyledir.
In C++, we have end() where the iterator ends up at the position one past the last elementBellekte şöyledir.
Blue Green Purple
^ ^ ^ ^
begin end
Bu arayüz C++'taki gibi belirli bir bellek modeli sunmaz.Tanımlama
Şöyle yaparız
java.util.
Iterator<E>;
forEachRemaining metoduAçıklaması şöyle.
ÖrnekPerforms the given action for each remaining element until all elements have been processed or the action throws an exception. Actions are performed in the order of iteration, if that order is specified. Exceptions thrown by the action are relayed to the caller.
Şöyle yaparız. Döngüden çıkmak için exception fırlatmak gerekir. return yeterli değildir.
List<String> names = new ArrayList<>();
names.add("A");
names.add("B");
names.add("C");
ListIterator<String> nameIterator = names.listIterator();
nameIterator.forEachRemaining(name -> {
if (name.equals("B")) {
System.out.println("Found");
return;
}
System.out.println(name);
});
hasNext metoduE tipinin String olduğunu varsayarsak şöyle yaparız.
while (iterator.hasNext()) {
String color = iterator.next();
}
next metoduŞöyle yaparız.
class SkippingIterator<T> implements Iterator<T> {
private List<T> list;
private currentPosition;
private int skipBy;
public SkippingIterator(List<T> l) {
this(l, 2);
}
public SkippingIterator(List<T> l, int skip) {
this(l, skipBy, 0);
}
public SkippingIterator(List<T> l, int skip, int startPosition) {
list = l;
skipBy = skip;
currentPosition = startPosition;
}
public boolean hasNext() {
return currentPosition < list.size();
}
public T next() {
T result = list.get(currentPosition);
currentPosition += skip;
return result;
}
}
remove metodu
Örnek ver
Hiç yorum yok:
Yorum Gönder