remplir une structure de donnée récursive
salut
je tente de remplir à partir d'une map une structure de donnée récursive
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
public class Info() extend SearchInfo{
long id;
}
public class SearchInfo(){
String nom;
SearchInfo[] searchInfo
}
public class PairInfo(){
long idMere;
SearchInfo;
}
Map<long, PairInfo> x = new HashMap<long, PairInfo>(); |
pour l'expression
(x>1) and (y>2 or z<4)
dans la map je me retrouve avec ces info
idInfo idMere nom
1 1 and
2 1 x>1
3 1 or
4 3 y>2
5 3 z<4
maintenant je cherche a remplir ma structure de donnée info, searchInfo à partir de cette map
les info dans la map ne sont pas nécessairement en ordre, ce qui me semble complique les choses pour remplir la structure
une idée pour démarré?
merci
d'abord trier suivant les id
Pour trier : tu mets tous les id (itérer sur MAP.keySet()) dans une liste de long (LISTE) et tu fais le tri (Collections.sort)
Créer une Map<long, Info> MAP2
Ensuite pour chaque élément de LISTE (qui sont les clés de MAP)
- creer une nouvelle Info et la mettre dans MAP2
- récupérer dans MAP2 l'Info de la mère et y ajouter le fils créé ci dessus
Remarque : il vaudrait mieux que tu remplaces
Code:
SearchInfo[] searchInfo
par
Code:
List<SearchInfo> searchInfo
mon blog