Matrice avec index string [Résolu]

Messages postés
13
Date d'inscription
vendredi 5 février 2010
Statut
Membre
Dernière intervention
3 juin 2013
- - Dernière réponse : cs_Julien39
Messages postés
6419
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
- 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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
6419
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
239
3
Merci
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"));

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
6419
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
239
3
Merci
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;
}

}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
13
Date d'inscription
vendredi 5 février 2010
Statut
Membre
Dernière intervention
3 juin 2013
0
Merci
Merci pour votre aide
Commenter la réponse de ssoouummaayyaa
Messages postés
6419
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
239
0
Merci
De rien
a+
Commenter la réponse de cs_Julien39