7
votes

Java: Comment créer un arbre Java, commandé par chemin de chaîne

J'ai une liste de pistes de cordes telles que ceci:

{"/ foo", "/ bar", "/ foo / admin", "/ foo / cust" "," / bar / erp "," / bar / erp / appel "," / foo / cute / Profil "} p> BlockQuote>

Comment créer un chemin d'arborescence ou un chemin d'arbre à cordes Ou où puis-je trouver une sorte de bibliothèque qui peut résoudre mes problèmes? P>

L'autre partie, est que je veux savoir comment boucle contre la structure des informations dont j'ai besoin (par exemple, un nœud d'arbre contiendra un chemin de chaîne mais peut également contenir une collection d'objet avec un attribut de chemin) afin que vous puissiez comprendre que nécessaire une structure de données complexe p>

L'arborescence peut être représentée comme suit: P>

- /
-- /foo
-- -- /foo/admin
-- -- /foo/cust
-- -- -- /foo/cust/profile
-- /bar
-- -- /bar/erp
-- -- -- /bar/erp/call


0 commentaires

3 Réponses :


7
votes

Ce dont vous avez besoin:

  1. Une boucle principale qui itière à travers la gamme de cordes 1 à la fois du début à la fin.
  2. Une fonction de tokenizer qui scindre un chemin tel que / foo / bar / sid dans une gamme de cordes {'FOO', 'Bar', 'Sid'}.
  3. Structure d'arborescence (si vous ne savez pas comment représenter des arbres en mémoire, consultez ce mode Java Comment: http://vivin.net/2010/01/30/generic-naire-tree-in-java/ Mais ce serait Bénéfique de regarder également un guide indépendant de la langue, car cela vous donnerait un bon aperçu de la théorie derrière elle: http://people.cis.ksu.edu/~schmidt/300s05/lectures/week7b.html ). Le sommet de votre arbre devrait être quelque chose comme «racine» comme Foo et Bar si la barre doit être sous le même arbre.

    Comment utiliser ces ensemble: Itérate à travers le tableau principal dans 1., en passant chaque chaîne au tokéniseur dans 2. une à la fois. Utilisez la nouvelle chaîne jointe pour passer par l'arborescence à l'aide du premier jeton comme premier niveau de l'arbre, deuxième comme deuxième, etc. Lorsque vous rencontrez des jetons qui n'existent pas dans l'arbre, ajoutez-les.

    Après la construction de l'arborescence, vous vous en tirez simplement une branche à un moment qui fait écho à son contenu.

    Bravo et codage heureux!


0 commentaires

3
votes

Essayez ceci: xxx

// résultat est xxx


0 commentaires

1
votes

Vous pouvez essayer d'utiliser un comparateur avec des tableaux de cette manière: xxx


0 commentaires