Hi there,

I know you are busy getting the latest release ready. Still I have question according the java.util.stream.Stream's static helper methods. During my work I ran into a couple places where creating a Stream out of a Iterator or Enumeration directly would be quite handy.

At the moment I have made me two methods like this on a helper class in oder to not duplicate the code:

  public static <T> Stream<T> iterate(Iterator<T> iterator) {
    Objects.requireNonNull(iterator);
    return StreamSupport.stream(Spliterators
.spliteratorUnknownSize(iterator, Spliterator.ORDERED | Spliterator.IMMUTABLE), false);
  }

  public static <T> Stream<T> iterate(Enumeration<T> enumeration) {
    Objects.requireNonNull(enumeration);
    final Iterator<T> iterator = new Iterator<T>() {
      @Override
      public boolean hasNext() {
        return enumeration.hasMoreElements();
      }

      @Override
      public T next() {
        return enumeration.nextElement();
      }
    };
    return iterate(iterator);
  }


My question is now, if it would be worth while having something like this on the Stream itself?


Cheers

Patrick

Reply via email to