Salut;
je prépare mon projet de fin d'étude et je travaille avec NetBeans;
je veux travailler avec une structure de données (fils,père) donc les arbres.
est ce que quelqu'un peut m'aider ??
Salutations.
Version imprimable
Salut;
je prépare mon projet de fin d'étude et je travaille avec NetBeans;
je veux travailler avec une structure de données (fils,père) donc les arbres.
est ce que quelqu'un peut m'aider ??
Salutations.
Sûrement, dès qu'on aura une idée de ce que tu essaies de faire et n'arrive pas à faire.
Oui ;
j'ai un fichier textuel qui contient des catégories "id-catégorie,id-child"; par exemple:
1,505
1,600
1,568
c-à-d pour la catégorie 1 les fils sont : 505 & 600 & 568
alors je veux réaliser un petit programme qui charge en mémoire arborescence et affiche pour chaque catégorie le père et les fils.
Je confirme, effectivement une structure d'arbre ça a l'air bien.
Vu qu'une catégorie peut avoir un nombre quelconque de catégories filles, je suggère de stocker les catégories filles dans une List Java.
Pour le reste, qu'as-tu déjà essayé de faire, comment tu te représentes la chose ?
Le problème réside dans ce cas "représentation".
Dans le fichier y a plusieurs catégories Père;
Alors j'ai lu le fichier ligne par ligne et j'ai pu affiché pour chaque catégorie ces fils; après j'ai utilisé TreeSet pour les stocké dans la mémoire mais j'ai pas réussi.
voila mon code :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 package arbo; import java.io.*; import java.util.HashSet; import java.util.Iterator; import java.util.StringTokenizer; import java.util.TreeSet; /** * * @author Ghanou */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { String fichier = "catégories.txt"; String Tet=""; TreeSet <String> t = new TreeSet(); String ligne; try { InputStream ips = new FileInputStream(fichier); InputStreamReader ipsr = new InputStreamReader(ips); BufferedReader br = new BufferedReader(ipsr); while ((ligne = br.readLine()) != null) { StringTokenizer tokenizer = new StringTokenizer(ligne, ","); Tet=tokenizer.nextToken(); t.add(Tet); System.out.println("voila : "+Tet); while ( tokenizer.hasMoreTokens() ) { System.out.println(tokenizer.nextToken()); // t.add(tokenizer.nextToken()); } } System.out.println("la liste "); Iterator it1 =t.iterator(); while(it1.hasNext()){ Object o1 = it1.next(); System.out.println(o1); } br.close(); } catch (Exception e) { System.out.println(e.toString()); } } }
est ce que pour chaque catégorie Père j'utilise une liste ??
Salutations.
Bonjour,
Je n'ai pas spécialement chercher a comprendre ton code, mais j'ai dans l'idée que vu que tu as seulement un fichier avec père,fils pourquoi ne pas utiliser une hashMap?
je ne sais plus si c'est possible mais faire une hashmap avec
HashMap<String, List<String>
comme ca tu aurais directement accès a tout les fils grâce au père. Après je ne sais pas si tu vas t'en resservir.
et pour le fichier un simple trim() suivis d'un split(",") d'une ligne permet d'avoir les 2 éléments.
J'espère que ma réponse t'aidera, sinon tanmpis :p
Il ressemble à quoi ton fichier ? Il a un format bien défini ?
Je pense tout simplement que l'ami ne comprend ce qu'est un TreeSet. Il pense que c'est un arbre, au sens fonctionnel du terme.
Et ça n'est pas cas, n'est-ce pas ?
Non, un TreeSet n'est qu'un Set trié. Le "Tree" dans le nom fait référence à l'organisation interne.