pues de java no tengo idea... tendrás que realizar la consulta en el foro pertinente. aunque considerando los tutoriales que en ocaciones hacen referencia a java, un iterador es un tipo de objeto que utilizan algunas funciones o posiblemente sentencias con el propósito de recorrer un dato en una forma determinada. apenas conozco ese concepto, justo estoy aprendiendo python el cual tambien tienen iteradores. te explico más o menos el caso de python, el cual supongo que tienen cierta similitud con otros lenguajes que implementan el mismo concepto.
en python hay ciertas sentencias que utilizan un iterador para recorrer los elementos. por ejemplo, las listas que en java más o menos serían arrays. si el objeto no tiene la interfaz Iterator, entonces dicha sentencia no sabe como debe manejar el objeto. en ese sentido, un Iterator es un concepto abstracto que puede ser aplicado a cualquier tipo de objeto. cuando se implementa, se debe describir de que manera se recorre los datos y a su vez proveer una interfaz para las sentencias que hacen uso de ello. por ejemplo, imagina un objeto File que representa un archivo del sistema (Filesystem). dicho archivo no contiene ninguna interfaz propia para iterar su contenido. con un Iterator tu puedes definir que cada iteración lee una linea del archivo. entonces, cuando pasas ese objeto a un bucle for -por ejemplo- el constructor sabe como utilizar ese objeto gracias a la interfaz. supongo que más o menos debe ser lo mismo en otros lenguajes.
para más información, lee la referencia de java, seguro ahí viene explicado. para tener una idea más genérica, wikipedia tiene un artículo.
http://en.wikipedia.org/wiki/Iterator