[java] Structure ArrayList pour dictionnaire
timon44
Messages postés
56
Statut
Membre
-
timon44 Messages postés 56 Statut Membre -
timon44 Messages postés 56 Statut Membre -
Bonjour, je cherche à créer un genre de dictionnaire.
Je voudrais associer le type du mot, avec le mot par exemple, pour le mot "faire" associer "v" pour verbe.
Bon je commence juste, et voila ce que j'ai fait :
Mais le char est souligné ("Syntax error on token "char", Dimensions expected after this token")
sinon ce que je pensais faire c'est quelque chose comme ça :
Mais je ne sais pas comment l'implémenter...
Je voudrais associer le type du mot, avec le mot par exemple, pour le mot "faire" associer "v" pour verbe.
Bon je commence juste, et voila ce que j'ai fait :
import java.util.*;
public class Dictionnaire {
char type;
String mot;
/* constructeur */
public Dictionnaire (char type, String mot) {
ArrayList<char,String> dico;
Dictionnaire(){dico = new ArrayList<char,String>();}
}
Mais le char est souligné ("Syntax error on token "char", Dimensions expected after this token")
sinon ce que je pensais faire c'est quelque chose comme ça :
String tab[]= new String[2];
ArrayList dico = new ArrayList();
dico.add(tab["verbe","faire"]);
Mais je ne sais pas comment l'implémenter...
A voir également:
- [java] Structure ArrayList pour dictionnaire
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Dictionnaire medical - Télécharger - Dictionnaires & Langues
- Waptrick java voiture - Télécharger - Jeux vidéo
13 réponses
Oki, voici un exemple où l'on travaille avec un ArrayList pour stocker les paires:
import java.util.ArrayList;
public class Timon44 {
private static class Mot {
private String mot;
private String type;
public Mot(String mot, String type) {
this.mot = mot;
this.type = type;
}
public String getMot() {
return mot;
}
public void setMot(String mot) {
this.mot = mot;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
private static class Dico extends ArrayList<Mot> {
public String getType(String key) {
for (Mot mot : this) {
if (mot.getMot().equals(key)) {
return mot.getType();
}
}
return null;
}
}
public static void main(String[] args) {
Dico dico = new Dico();
// Comme notre classe Dico hérite d'ArrayList, utiliser une fonction de rajout déjà définie
dico.add(new Mot("ceci", "pron. dém"));
dico.add(new Mot("est", "vb."));
dico.add(new Mot("un", "art."));
dico.add(new Mot("exemple", "nom"));
// Est-ce qu'un mot se trouve dans le dico ?
System.out.println("Le mot 'wizz' dans le dico ? " + (dico.getType("wizz") != null));
// Lister tous les mots du dico
for (Mot mot : dico) {
System.out.println(mot.getMot() + "==>" + mot.getType());
}
}
}
++
Salut,
Le constructeur d'ArrayList te permet de spécifier un unique template et non pas 2. Exemple:
++
Le constructeur d'ArrayList te permet de spécifier un unique template et non pas 2. Exemple:
ArrayList<String> dico;
++
Et comment puis je faire, en utilisant arraylist ?
Parce que je voudrais faire un arraylist de couple(A,B) en fait ...
Parce que je voudrais faire un arraylist de couple(A,B) en fait ...
Tu crées un objet (ta classe à toi) pour garder les couples et tu insères dans l'ArrayList des instances de cet objet.
++
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok , merci, donc voila ce que j'ai fait :
j'ai créer une classe mot : (Mot.java)
Pour la classe main :
et la classe de Dictionnaire :
Mais je sais pas comment rentrer mot/type dans l'arraylist dico ....
j'ai créer une classe mot : (Mot.java)
public class Mot {
String type;
String mot;
/* constructeur*/
public Mot (){
type="verbe";
mot="faire";
}
public Mot(String pType, String pMot){
type=pType;
mot=pMot;
}
}
Pour la classe main :
import java.util.ArrayList;
import java.util.Scanner;
public class Utilisatrice {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Mot def = new Mot();
Dictionnaire dico = new Dictionnaire();
System.out.print("Mot: ");
Scanner scanMot = new Scanner(System.in);
String mot = scanMot.nextLine();
System.out.println("Type: ");
Scanner scanType = new Scanner(System.in);
String type = scanType.nextLine();
}
}
et la classe de Dictionnaire :
import java.util.ArrayList;
import java.util.Scanner;
public class Utilisatrice {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Mot def = new Mot();
Dictionnaire dico = new Dictionnaire();
System.out.print("Mot: ");
Scanner scanMot = new Scanner(System.in);
String mot = scanMot.nextLine();
System.out.println("Type: ");
Scanner scanType = new Scanner(System.in);
String type = scanType.nextLine();
}
}
Mais je sais pas comment rentrer mot/type dans l'arraylist dico ....
Heuuu... Il faudrait décrire un peu plus ce que tu veux faire car le simple fait d'associer un mot à son type peut se faire de manière très simple en utilisant des classes existantes. Pas besoin de réinventer la roue... Exemple
Précise, donc, ce que tu veux vraiment faire...
++
import java.util.HashMap;
import java.util.Map;
public class Timon44 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("ceci", "pron dem");
map.put("est", "v");
map.put("un", "art");
map.put("exemple", "nom");
for (String key : map.keySet()) {
System.out.println(key + "==>" + map.get(key));
}
}
}
A l'exécution, on a ceci: exemple==>nom est==>v un==>art ceci==>pron dem
Précise, donc, ce que tu veux vraiment faire...
++
Alors en fait, je veux faire plusieurs méthodes :
test si dico contient le mot, ajouter un mot au dico, supprimer un mot, donner le type d'un mot (donc rechercher si le mot existe, et retourner son type)
En fait c'est un exo que je fais pour réviser pour mon examen ... et j'ai vraiment du mal en java. J'ai lu tout le tuto du siteduzero (enfin pas tout jusqu'à la fin, il y a des choses pas au programme)
Et je dois faire l'implementation d'un dico, en arraylist, et en table de hashage ... et comparer les deux.
Donc pour l'instant je fait en arraylist....
test si dico contient le mot, ajouter un mot au dico, supprimer un mot, donner le type d'un mot (donc rechercher si le mot existe, et retourner son type)
En fait c'est un exo que je fais pour réviser pour mon examen ... et j'ai vraiment du mal en java. J'ai lu tout le tuto du siteduzero (enfin pas tout jusqu'à la fin, il y a des choses pas au programme)
Et je dois faire l'implementation d'un dico, en arraylist, et en table de hashage ... et comparer les deux.
Donc pour l'instant je fait en arraylist....
Alors en fait, je veux faire plusieurs méthodes :
test si dico contient le mot, ajouter un mot au dico, supprimer un mot, donner le type d'un mot (donc rechercher si le mot existe, et retourner son type) ==>
C'est OK, ça existe déjà (interface Map, diverses implémentations, e.g. HashMap):
test si dico contient le mot "ex" ==> méthode map.get("ex") // retourne null si pas de mot dans map
ajouter un mot au dico ==> map.put(mot, type_mot)
supprimer un mot ==> map.remove(mot)
donner le type d'un mot ==> map.get("ex")
++
test si dico contient le mot, ajouter un mot au dico, supprimer un mot, donner le type d'un mot (donc rechercher si le mot existe, et retourner son type) ==>
C'est OK, ça existe déjà (interface Map, diverses implémentations, e.g. HashMap):
test si dico contient le mot "ex" ==> méthode map.get("ex") // retourne null si pas de mot dans map
ajouter un mot au dico ==> map.put(mot, type_mot)
supprimer un mot ==> map.remove(mot)
donner le type d'un mot ==> map.get("ex")
++
[Edit] Pardon, pas capté qu'il s'agissait d'un exo... Et donc que tu veux absolument travailler avec un ArrayList. Vais me repencher sur cette question après le déjeuner =)
ok, jte remercie beaucoup, de toute maniére, je vais aussi bosser sur hashmap, donc ce que tu m'as dis mesera surement trés utile !!