All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.stanford.nlp.util.IterableIterator Maven / Gradle / Ivy

Go to download

Stanford Parser processes raw text in English, Chinese, German, Arabic, and French, and extracts constituency parse trees.

There is a newer version: 3.9.2
Show newest version
package edu.stanford.nlp.util;

import java.util.*;

/**
 * This cures a pet peeve of mine: that you can't use an Iterator directly in
 * Java 5's foreach construct.  Well, this one you can, dammit.
 *
 * @author Bill MacCartney
 */
public class IterableIterator implements Iterator, Iterable {

  private Iterator it;

  public IterableIterator(Iterator it) {
    this.it = it;
  }

  public boolean hasNext() { return it.hasNext(); }
  public E next() { return it.next(); }
  public void remove() { it.remove(); }
  
  public Iterator iterator() { return this; }

  public static void main(String[] args) {

    String[] strings = new String[] {
      "do", "re", "mi", "fa", "so", "la", "ti", "do", 
    };

    Iterator it = Arrays.asList(strings).iterator();
    // for (String s : it) {               // UH-OH!!
    //   System.out.println(s);
    // }

    IterableIterator iterit = new IterableIterator(it);
    for (String s : iterit) {           // YAY!!
      System.out.println(s);
    }

  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy