package com.annimon.stream.operator;
import com.annimon.stream.iterator.LsaExtIterator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class ObjDistinct<T> extends LsaExtIterator<T> {
private final Iterator<? extends T> iterator;
private final Set<T> set;
public ObjDistinct(Iterator<? extends T> iterator) {
this.iterator = iterator;
set = new HashSet<T>();
}
@Override
protected void nextIteration() {
while (hasNext = iterator.hasNext()) {
next = iterator.next();
if (!set.contains(next)) {
set.add(next);
return;
}
}
}
}