Problème de gestion des matrices en java
Résolu/Fermé
nidhalos
Messages postés
11
Date d'inscription
vendredi 11 mai 2018
Statut
Membre
Dernière intervention
4 mai 2019
-
12 mai 2018 à 23:37
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 13 mai 2018 à 16:29
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 13 mai 2018 à 16:29
A voir également:
- Problème de gestion des matrices en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Logiciel gestion photo gratuit - Guide
1 réponse
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
Modifié le 13 mai 2018 à 00:50
Modifié le 13 mai 2018 à 00:50
Bonjour,
Voici une idée :
Tu gères un "dictionnaire de synonymes" basé sur une Map<String, Set<String>> où tu pourras ajouter des couples de "mots égaux" qui s'accumuleront par transitivité.
Ce sera plus simple à gérer de le faire au fur et à mesure (ligne par ligne dans ton tableau) que globalement en une seule fois sur l'intégralité du tableau.
Exemple :
Ton résultat sera alors les différents Set<String> présents dans la Map, dans l'exemple ce serait donc
Voici une idée :
Tu gères un "dictionnaire de synonymes" basé sur une Map<String, Set<String>> où tu pourras ajouter des couples de "mots égaux" qui s'accumuleront par transitivité.
Ce sera plus simple à gérer de le faire au fur et à mesure (ligne par ligne dans ton tableau) que globalement en une seule fois sur l'intégralité du tableau.
Exemple :
new → {} add(Help, ABC) → {Help=[Help, ABC], ABC=[Help, ABC]} add(Hello, Bonsoir) → {Help=[Help, ABC], ABC=[Help, ABC], Hello=[Bonsoir, Hello], Bonsoir=[Bonsoir, Hello]} add(Help, Jour) → {Help=[Help, ABC, Jour], ABC=[Help, ABC, Jour], Jour=[Help, ABC, Jour], Hello=[Bonsoir, Hello], Bonsoir=[Bonsoir, Hello]}
Ton résultat sera alors les différents Set<String> présents dans la Map, dans l'exemple ce serait donc
[Help, ABC, Jour]et
[Bonsoir, Hello]comme dans ton illustration.
13 mai 2018 à 01:00
13 mai 2018 à 11:55
Les Map et les Set sont exactement fait pour traiter ce genre de données :
En les combinant, on a un Map<String, Set<String>> qui à chaque mot associe plusieurs autres mots.
Au final ça donne un code plutôt simple, la vraie question étant : est-ce que le résultat est correct ?
Voici un code de test pour ton exemple :
Ce qui donne bien tes 2 lignes à 3 colonnes et tes 2 lignes à 2 colonnes :
Remarque : les valeurs sont triées par ordre alphabétique (au sens Unicode) grâce aux TreeMap et TreeSet dans add() et à la conservation de l'ordre avec LinkedHashSet dans getValues().
13 mai 2018 à 16:05
sachant que mon tableau ' input ' a plus que 200 lignes
13 mai 2018 à 16:29