Mega Code Archive

 
Categories / Java / Language Basics
 

Using a foreach(for each) for loop on an Iterable object

import java.util.*;    class StrIterable implements Iterable<Character>,                               Iterator<Character> {    private String str;    private int count = 0;      StrIterable(String s) {      str = s;    }      // The next three methods impement 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<Character> iterator() {      return this;    }  }    public class MainClass {     public static void main(String args[]) {       StrIterable x = new StrIterable("This is a test.");        for(char ch : x)        System.out.print(ch);        System.out.println();    }   }