Partage
  • Partager sur Facebook
  • Partager sur Twitter

ArrayList

Sujet résolu
27 avril 2011 à 19:18:26

Bonjour,
je veux ajouter un élément à mon arraylist à partie du clavier avec cette manière:le programme parcoure toute l arrayList si l'élément existe alors il lui affiche un message que l'element est existe déja si non le programme ajoute cet element à la liste.
mon programme fonctionne mais mem s'il trouve le mot il l'ajoute,en fait il exécute que le else.voila le code:

int j=0;
do{
System.out.println(maListe.get(j));
j=j+1;
System.out.println(maListe.get(j));
}while((maListe.get(j).equals(str)==true)||(j==maListe.size()));
if(maListe.get(j).equals(str)==true)
System.out.println("ce mot existe\n");
else{
System.out.println("on va ajouter "+str);
maListe.add(str);
}

SVP vous pouvez m'aider et me repondre le plus vite possible..
Merci
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2011 à 19:33:22

Salut,

Pour savoir si un ArrayList contient un élément donné tu devrais plutôt utiliser la méthode contains(Object o).
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2011 à 19:54:12

Merci,
est ce que vous pouvez m'expliquer la différence entre contains et equal parce que je vois qu'ils se ressemblesnt????
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2011 à 19:58:25

Salut,

contains vérifie si un objet est dans un ArrayList (renvoie true si c'est le cas).
equals compare que tout les éléments de l'ArrayList sont égaux à ceux de la List passé en paramètre.

http://download.oracle.com/javase/1.4. [...] rrayList.html
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2011 à 20:03:13

Re,

En fait contains(Object o) est une méthode spécifique aux ArrayList pour vérifier la présence d'un élement. Pour ton exemple le code deviendrait :
if(!maliste.contains(str)){
    maliste.add(str);
}

  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2011 à 20:10:14

meeeeeerci beaucoup, sa fonctionne
mais comment je fais pour supprimer le mot trouvé dans l arraylist
j ai essaié avec:
if(maListe.contains(str)==true)
System.out.println(str+" existe");

si je fais maListe.remove(index) il me demande l 'index alors que je ne suis pas entrain de parcourir l 'arraylist avec par exemple boucle for??????
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2011 à 20:18:27

Re,

tu peux utiliser cette méthode indexOf(Object elem) pour connaître l'index d'un élément.
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2011 à 20:25:48

graaaaaaaaaaaaaand merci sa fonctionné c'est tré gentil..

  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2011 à 20:38:50

Penses à mettre le sujet comme résolu.

Merci d'avance
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2011 à 20:42:38

ça y été :) si j 'ai d'autre question est ce que je le pose sur cette page??
  • Partager sur Facebook
  • Partager sur Twitter
27 avril 2011 à 21:18:25

Tu peux m'envoyer un message directement si tu veux
  • Partager sur Facebook
  • Partager sur Twitter
22 juin 2020 à 16:01:32

Bonjour,
je veux ajouter un élément à mon arraylist à partie du clavier avec cette manière:le programme parcoure toute l arrayList si l'élément existe alors il lui affiche un message que l'element est existe déja si non le programme ajoute cet element à la liste.
mon programme fonctionne mais meme s'il trouve le mot il l'ajoute,en fait il exécute que le else. voila le code:
Scanner sc = new Scanner(System.in);
System.out.println("Veuillez saisir un titre de livre :");
String str = sc.nextLine();
 ArrayList<String> list = new ArrayList<String>();
if(list.contains(str)==true)
System.out.println(" existe"+ str);
else{
System.out.println("on va ajouter "+str);
list.add(str);
}
SVP vous pouvez m'aider et me repondre le plus vite possible..
Merci
  • Partager sur Facebook
  • Partager sur Twitter
22 juin 2020 à 16:25:51

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter