Matrice avec index string

Résolu
ssoouummaayyaa Messages postés 13 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 3 juin 2013 - 27 nov. 2012 à 10:02
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 27 nov. 2012 à 13:56
Bonjour ;
j'ai besoin d'aide à propos des matrices
je veux faire une matrice d'index String
par exemple je veux mettre que m[mot][fichier] = )poids
avec String mot ;
String fichier
Double poids
Quelqu'un peut m'aider s'il vous plaît ?
J'ai vraiment besoin de ce travail
Cordialement
A voir également:

4 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
27 nov. 2012 à 11:13
Salut,

1. m[mot][fichier] : c'est impossible, java ne connait pas ce genre de tableaux.

2. Tu peux t'en sortir avec une HashMap : Tu créés une classe Cle qui contient tes deux atributs (mot et fichier) et ensuite, tu utilises une
HashMap<Cle, Double> map = new HashMap<Cle, Double>();

pour ajouter une entree :
map.put(new Cle("mot", "fichier"), new Double(12.0f));

Pour accéder à une entrée :
map.get(new Cle("mot", "fichier"));
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
27 nov. 2012 à 11:20
Ha oui, j'oubliais, il faut ré-implémenter equals et hashCode sinon, rien ne fonctionnera :

public class Cle {

private String mot;
private String fichier;

public Cle(String mot, String fichier) {
this.mot = mot;
this.fichier = fichier;
}

@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result prime * result + ((fichier null) ? 0 : fichier.hashCode());
result prime * result + ((mot null) ? 0 : mot.hashCode());
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj){
return true;
}
if (obj == null){
return false;
}
if (getClass() != obj.getClass()){
return false;
}
Cle other = (Cle) obj;
if (fichier == null) {
if (other.fichier != null){
return false;
}
} 
else if (!fichier.equals(other.fichier))
return false;
if (mot == null) {
if (other.mot != null){
return false;
}
} 
else if (!mot.equals(other.mot)){
return false;
}
return true;
}

}
3
ssoouummaayyaa Messages postés 13 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 3 juin 2013
27 nov. 2012 à 12:22
Merci pour votre aide
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
27 nov. 2012 à 13:56
De rien
a+
0
Rejoignez-nous