Collections Java Tutorial

import java.util.Iterator;
import java.util.NoSuchElementException;
// This class supports iteration of the 
// characters that comprise a string.
class IterableString implements Iterable, Iterator {
  private String str;
  private int count = 0;
  public IterableString(String s) {
    str = s;
  }
  // The next three methods implement Iterator.
  public boolean hasNext() {
    if (count < str.length()){
      return true;
    }  
    return false;
  }
  public Character next() {
    if (count == str.length())
      throw new NoSuchElementException();
    count++;
    return str.charAt(count - 1);
  }
  public void remove() {
    throw new UnsupportedOperationException();
  }
  // This method implements Iterable.
  public Iterator iterator() {
    return this;
  }
}
public class MainClass {
  public static void main(String args[]) {
    IterableString x = new IterableString("This is a test.");
    for (char ch : x){
      System.out.println(ch);
    }
  }
}
T
h
i
s

i
s

a

t
e
s
t
.