Zunächst einmal sollten Sie nicht primitive Datentypen wie int
mit generischer Klasse sein. Also anstelle von int[]
List<Integer>
verwenden.
Nun, wenn Sie wirklich wollen, nur einIterator
dann verwenden Sie eine Reihe von for-each
Schleifen wie diese verwenden können -
for (Set<Set<List<Integer>>> aSa : Sa) {
for (Set<List<Integer>> bSa : aSa) {
Iterator<List<Integer>> iter = bSa.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
}
}
Volltestcode -
HashSet<Set<Set<List<Integer>>>> Sa = new HashSet<>();
// Creating dummy data
// Two List of Integers
List<Integer> listInt1 = new ArrayList<>();
List<Integer> listInt2 = new ArrayList<>();
// Populating the list
for (int i = 0; i < 4; i++) {
listInt1.add(i);
listInt2.add(i+30);
}
// Data structure of Sa.
Set<List<Integer>> setOfIntLists1 = new HashSet<>();
Set<List<Integer>> setOfIntLists2 = new HashSet<>();
setOfIntLists1.add(listInt1);
setOfIntLists1.add(listInt2);
setOfIntLists2.add(listInt2);
setOfIntLists2.add(listInt1);
Set<Set<List<Integer>>> setOfset1 = new HashSet<>();
Set<Set<List<Integer>>> setOfset2 = new HashSet<>();
setOfset1.add(setOfIntLists1);
setOfset1.add(setOfIntLists2);
setOfset2.add(setOfIntLists2);
setOfset2.add(setOfIntLists1);
// Adding data to Sa
Sa.add(setOfset1);
Sa.add(setOfset2);
for (Set<Set<List<Integer>>> aSa : Sa) {
for (Set<List<Integer>> bSa : aSa) {
Iterator<List<Integer>> iter = bSa.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
}
}
}
Ausgang
[0, 1, 2, 3]
[30, 31, 32, 33]
Das Drucken von 'int []' ist eine schwierige Zeit. Versuchen Sie, zu einer 'Liste' zu wechseln. –
Sie haben drei Schichten von Sätzen. Sie benötigen drei Iteratoren in drei verschachtelten Schleifen. Warum bestehen Sie darauf, nur einen Iterator zu verwenden? –
Bitte nennen Sie Variablen nicht in Großbuchstaben - eine sehr schlechte Vorgehensweise. Großbuchstaben sind für Klassennamen reserviert. Verwenden Sie stattdessen CamelCase: [Java-Namenskonventionen] (https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=java%20naming%20conventions) – pczeus