PB Java avec containsKey
artnlyf
-
choubaka Messages postés 39984 Statut Modérateur -
choubaka Messages postés 39984 Statut Modérateur -
j'utilise containsKey sur un TreeMap et cela me fait une ClassCastException. Apparement il ne peut pas comparer.
ArbreFils est donnee membre de la classe Arbre, c'est un TreeMap qui contient un Elemen comme cle et une ArrayList comme attribut. Il Faut p-e un transtypage mais je ne vois pas comment le faire.
Voila la fonction :
public void calculeFils()
{ System.out.println("\nCalcul des fils");
TreeMap aF2 = new TreeMap();
int t = this.size();
for (int i=0; i<t; i++)
{Couple c= new Couple((Couple)this.get(i));
Elemen e1=new Elemen();e1=c.el1;
Elemen e2=new Elemen();e2=c.el2;
System.out.println("av");
if(aF2.containsKey(e1))//<-<-<-<-<---------------------------
{System.out.println("if");
((ArrayList)this.ArbreFils.get(e1)).add(e2);}
else {ArrayList a1 = new ArrayList();a1.add(e2);
aF2.put(e1,a1);}
}
this.ArbreFils = aF2;
}
ArbreFils est donnee membre de la classe Arbre, c'est un TreeMap qui contient un Elemen comme cle et une ArrayList comme attribut. Il Faut p-e un transtypage mais je ne vois pas comment le faire.
Voila la fonction :
public void calculeFils()
{ System.out.println("\nCalcul des fils");
TreeMap aF2 = new TreeMap();
int t = this.size();
for (int i=0; i<t; i++)
{Couple c= new Couple((Couple)this.get(i));
Elemen e1=new Elemen();e1=c.el1;
Elemen e2=new Elemen();e2=c.el2;
System.out.println("av");
if(aF2.containsKey(e1))//<-<-<-<-<---------------------------
{System.out.println("if");
((ArrayList)this.ArbreFils.get(e1)).add(e2);}
else {ArrayList a1 = new ArrayList();a1.add(e2);
aF2.put(e1,a1);}
}
this.ArbreFils = aF2;
}
A voir également:
- PB Java avec containsKey
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
1 réponse
Salut, le problème est le suivant
java ne peut pas comparer les objets de type "Elemen", tu dois donc lui expliquer comment les comparer. Pour ce faire, tu dois créer un objet implémentant l'interface "Comparator" qui permet d'effectuer la comparaison entre les objets "elemen". Ce comparator doit ensuite être envoyé comme argument lorsque tu appelle le constructeur du TreeMap.
voilà, bon courage
Chouba
Casque Bleu forumique
java ne peut pas comparer les objets de type "Elemen", tu dois donc lui expliquer comment les comparer. Pour ce faire, tu dois créer un objet implémentant l'interface "Comparator" qui permet d'effectuer la comparaison entre les objets "elemen". Ce comparator doit ensuite être envoyé comme argument lorsque tu appelle le constructeur du TreeMap.
voilà, bon courage
Chouba
Casque Bleu forumique