Guava has an Iterables utility  class that offers this kind of functionality. In particular, take a look at http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Iterables.html#get(java.lang.Iterable, int)