Hallo,
wie macht man am besten eine List, in der man rekursiv suchen kann?
Ich habe folgende Klasse:
Die Klasse enthält also eine weitere Liste mit dem Objekt "OdooCategory" und diese kann wiederum weitere enthalten.
Die Klasse ist also verschachtelt.
Nun muss ich aber über alle Objekte suchen.
Beispiel, ich muss String "name" irgendwo den Inhalt "Demo user" hat.
Würde ich mal so machen:
Aber ich würde zum Beispiel alle OdooCategory benötigen, die "lastChange > now()" haben, usw.
Ist da eine List das passende oder wie baut man so etwas auf?
Und kann ich die Methoden in die Klasse "OdooCategory" packen? Denk nicht, da nicht rekursiv möglich.
wie macht man am besten eine List, in der man rekursiv suchen kann?
Ich habe folgende Klasse:
Code:
public class OdooCategory {
private Integer id;
private String name;
private String description;
private Integer parentCategoryId;
private long lastChange;
private Integer magentoCategoryId;
private Integer magentoParentCategoryId;
private String image;
private List<OdooCategory> odooCategory;
}
Die Klasse enthält also eine weitere Liste mit dem Objekt "OdooCategory" und diese kann wiederum weitere enthalten.
Die Klasse ist also verschachtelt.
Nun muss ich aber über alle Objekte suchen.
Beispiel, ich muss String "name" irgendwo den Inhalt "Demo user" hat.
Würde ich mal so machen:
Java:
private static boolean searchForNameInCategory(List<OdooCategory> localCategoryList, String searchString) {
Iterator<OdooCategory> iterator = localCategoryList.iterator();
while (iterator.hasNext()) {
OdooCategory localCategory = iterator.next();
if(localCategory.getName().equals(searchString)
return true;
if (localCategory.getOdooCategory() != null) {
searchForNameInCategory(localCategory.getOdooCategory(), searchString);
}
}
}
Aber ich würde zum Beispiel alle OdooCategory benötigen, die "lastChange > now()" haben, usw.
Ist da eine List das passende oder wie baut man so etwas auf?
Und kann ich die Methoden in die Klasse "OdooCategory" packen? Denk nicht, da nicht rekursiv möglich.
Zuletzt bearbeitet von einem Moderator: