Hallo
kann man folgendes machen:
folgende Bean:
Collections deklarieren:
Dann fülle ich zuerst die beiden Collections coll1 und coll2:
Und füge die beiden Collections der Collection collAll hinzu und gebe diese zurück:
Soweit schauts meiner Meinung nach gut aus.
In einer anderen Klasse mache ich folgendes:
Nur das erzeugt eine Endlosschleife:
while (it.hasNext())
Die Frage ist nur warum? Wo ist hier der Denkfehler? Oder kann man ganz einfach keine Collection in eine andere Collection einfügen?
Vielen Dank
cu
George
kann man folgendes machen:
folgende Bean:
Code:
public class DropDownElement {
public int id = 0;
public String value = null;
public int idRef = 0;
//natürlich mit getter/setter-Methoden
}
Collections deklarieren:
Code:
Collection<Collection<DropDownElement>> collAll = new ArrayList<Collection<DropDownElement>>();
Collection<DropDownElement> coll1 = new ArrayList<DropDownElement>();
Collection<DropDownElement> coll2 = new ArrayList<DropDownElement>();
DropDownElement ebene1 = null;
DropDownElement ebene2 = null;
Dann fülle ich zuerst die beiden Collections coll1 und coll2:
Code:
while {
ebene1 = new DropDownElement();
ebene1.setId(resultSet.getInt("id"));
ebene1.setValue(resultSet.getString("value"));
coll1.add(ebene1);
}
while {
ebene2 = new DropDownElement();
ebene2.setId(resultSet.getInt("id"));
ebene2.setValue(resultSet.getString("value"));
coll2.add(ebene2);
}
Und füge die beiden Collections der Collection collAll hinzu und gebe diese zurück:
Code:
collAll.add(coll1);
collAll.add(coll2);
return collAll;
Soweit schauts meiner Meinung nach gut aus.
In einer anderen Klasse mache ich folgendes:
Code:
private static Collection<Collection<DropDownElement>> myCollAll;
//hole mir die Collection
myCollAll = DropDownSearchDAO.getAllDropDowns();
//Möchte mit dieser Methode die Werte einer Collection zurückgeben
public Collection getAllValues(int ebene) {
Collection coll = new ArrayList<DropDownElement>();
Iterator it = collAll.iterator();
int i = 1;
while (it.hasNext()) {
if (i == ebene) {
coll = (Collection) it.next();
}
i++;
}
return coll;
}
while (it.hasNext())
Die Frage ist nur warum? Wo ist hier der Denkfehler? Oder kann man ganz einfach keine Collection in eine andere Collection einfügen?
Vielen Dank
cu
George