Hola jotase
Si, has hecho lo que te pedía, mostrar todos los elementos uno a uno. Si, pero no era así como lo pedía.
Para mostrar los elementos usas los objetos (listaDeString y listaDeIntegers) dejando de lado el objeto (listaDeSet) que es de donde hay que sacarlos.
A continuación tienes tu clase con pequeños cambios y comentarios para que estudies que hace cada cosa.
//Ejercicio 78
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class Prueba {
public static void main (String [] args) {
HashSet<String> listaDeString = new HashSet<String>();
listaDeString.add("sol");
listaDeString.add("luna");
listaDeString.add("saturno");
TreeSet<Integer> listaDeIntegers = new TreeSet<Integer>();
listaDeIntegers.add(2);
listaDeIntegers.add(5);
listaDeIntegers.add(8);
ArrayList<Set> listaDeSet = new ArrayList<Set>();
listaDeSet.add(listaDeString);
listaDeSet.add(listaDeIntegers);
// recorrer el ArrayList
Iterator<Set> itSet = listaDeSet.iterator();
while (itSet.hasNext()) {
// esto referencia cada elemento del ArrayList
Set objetoArrayList = itSet.next();
// recorrer el elemento extraido del ArrayList
int cuenta = 0;
Iterator itElemento = objetoArrayList.iterator();
while (itElemento.hasNext()) {
System.out.print ( ++cuenta + ".- " + itElemento.next() + "\t");
}
// salto de linea despues de cada elemento del ArrayList
System.out.println();
}
/**
for (Iterator<String> it = listaDeString.iterator(); it.hasNext();) {
String tmpString = it.next();
System.out.print("\""+tmpString+"\", ");
}
for (Iterator<Integer> it = listaDeIntegers.iterator(); it.hasNext();) {
Integer tmpInteger = it.next();
System.out.print(tmpInteger+", ");
}
*/
System.out.println("\b\b.");
}
}
Saludos