[java] Tableau indexé à 3 colonnes

Fermé
mike220684 Messages postés 12 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 16 juillet 2007 - 5 mars 2007 à 16:22
mike220684 Messages postés 12 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 16 juillet 2007 - 5 mars 2007 à 17:17
Bonjour.

Je désire développer en java un tableau avec accès rapide qui contiendrait les données du genre :
"motclé", catégorie (entier), "couleur".

J'avais pensé à :
1. Une HashMap (j'adore ça car accès rapide) avec en key mon "motclé" et en value un tableau de string "catégorie", "couleur" (j'aurai converti la catégorie en int ensuite), mais impossible de caster le get du HashMap en tableau de String : (String[])hash.get("motclé").

2. Un tableau de string comme ça (pour 17 mots clés) : String[17][3] où j'ajoute à chaque fois les valeurs manuellement. Mais j'ai pas pris cette solution car pour trouver la catégorie d'un mot clé, il faut parcourir tout le tableau, et je dois aller vite (très souvent sollicité).

Finalement j'ai opté pour 3. mais ça ne me convient pas (je trouve ça bidouillé, et lon en parsing) :
3. Une HashMap avec en key le motclé et en value un string (à parser) du type : "categorie-couleur". Je fais ensuite un split sur le "-" pour récupérer les deux valeurs.

Qu'en pensez-vous ? Comment faire mon tableau ?

Merci beaucoup.
A voir également:

1 réponse

Normalement, tu es censé créer une classe pour ce genre de chose :
La solution la plus simple avec une classe :

public class CategoryCouleur {
     public String couleur;
     public int categorie;
     public CategoryCouleur(int categorie, String couleur) {
         this.categorie = categorie;
         this.couleur = couleur;
     }
}


Et utiliser une HashMap contenant des objets de
cette classe, avec en key le mot-clé et en value
l'objet.

C'est beaucoup de formalisation pour simplement
2 propriétés mais bon, c java :)
0
mike220684 Messages postés 12 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 16 juillet 2007 2
5 mars 2007 à 17:17
Ok merci.
Est-ce que tu penses que cette solution coute moins cher en ressources mémoires ? En temps d'exécution ?

Comment le calculer ?

Ca fera partie de mon choix final. Je ne sais pas si le split + conversion de la string en int coute plus cher en temps que ce que me coute ta solution en mémoire. Je suis clair ?

Mickaël.
0