[HashMap] Conseil pour comparaison de données
Bonjour à tous,
J'aimerais effectuer une comparaison entre des données provenant d'un fichier plat, d'une part, et d'une table de base de données d'autre part. Les deux ont une structure similaire, à savoir :
Code:
1 2 3 4
| Colonne 1 Colonne 2 ... Colonne n
Val 11 Val 12 ... Val 1n
Val 21 Val 22 ... Val 2n
... |
Dans un premier temps, on considère que l'ordre des colonnes est identique pour la table et le fichier, ainsi que le nombre d'entrées. En pratique, le nombre de colonnes n'est pas supérieur à 20 et le nombre de lignes peut aller jusqu'à 50.
Une combinaison de ces colonnes constitue une clé pour retrouver une ligne particulière.
Alors, pour ce qui est de la partie "extraction" des données, pas de souci à l'aide des classiques java.io.BufferedReader et java.sql.ResultSet.
Par contre, je ne sais pas encore quel est le meilleur objet Java à utiliser pour stocker ces données... Je pensais à deux HashMap dont les KeySet seraient une liste des valeurs formant la clé, et la Value associée serait l'ensemble (Collection par exemple) des autres valeurs.
Idéalement, l'affichage des différences ressemblerait à ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Fichier Table
- Ligne X
Colonne 1 valX1 valX1
Colonne 2 valX2 valX2
...
Colonne n valXn valXn
- Ligne Y
Colonne 1 valY1 valY1
Colonne 2 valY2 valY2
...
Colonne n valYn valYn
... |
ou les valeurs valX2, valY1 et valYn du fichier diffèrent de celles trouvées dans la table.
Est-ce que mon choix vous semble le bon ??? :koi: