IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Recherche chaine dans une liste


Sujet :

Java

  1. #1
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut Recherche chaine dans une liste
    Hello !

    Je suis etonné de ne trouver aucune classe et/ou methode qui renvoie l'index d'une chaine dans une liste (ou tableau) si elel existe.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    String tab = {"toto", "titi"};
    int index; 
    // Soit : 
    index = Array.IntexOf(tab, "toto");
    // Soit :
    List lst = new StringList(tab);
    index = lst.indexOf("toto");
    Cette astuce va me servir a faire un "switch" sur des valeurs chaines .... et eviter ainsi une serie de if {} else if {}

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Salut, la méthode indexOf de ArrayList est basée sur la méthode equals donc si on mets des String dedans ça devrait marcher non?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    List lst = new ArrayList();
    lst.add("toto");
    lst.add("titi");
     
    index = lst.indexOf("titi");

  3. #3
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Tu y étais presque:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String[] tab = {"toto", "titi", "tata"};
    List<String> lst = Arrays.asList(tab);
    int index = lst.indexOf("titi");
    La liste obtenue avec Arrays.asList() est mappée sur le tableau passé en paramètre. Ainsi, si tu préfères faire des switch sur la liste (par commodité d'écriture par exemple), ceux-ci seront automatiquement répercutés dans le tableau.

    Edit: grilled! + correction de la faute relevée par morph41...
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    L'initialisation de ta List CyberChouan est mieu que la mienne, je n'y avais pas pensé...
    Par contre la méthode à appeler est indexOf et pas indesOf

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Oups...
    Faute de frappe évidemment... et comme tu l'as vue avant moi, je ne peux même plus la corriger en douce
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  6. #6
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Merci je vais etudier ca de plus pres
    Petit details : Je suis sous 1.4 ... au cas ou. Car il me semble avoir vu ces classes sans trouver de methode "indexof".
    Je vais revoir ca de plus pres

  7. #7
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    De mémoire le indexOf existait déja en 1.4, par contre il faut supprimer le <String>

  8. #8
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    ok je vois ca tout de suite

Discussions similaires

  1. [XL-2010] Recherche sous chaine dans une liste
    Par lbar012001 dans le forum Excel
    Réponses: 7
    Dernier message: 29/08/2012, 14h21
  2. Recherche rapide de chaine dans une liste
    Par Esil2008 dans le forum Langage
    Réponses: 3
    Dernier message: 04/11/2008, 14h03
  3. Recherche rapide dans une liste
    Par jblecanard dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/09/2008, 23h53
  4. Réponses: 14
    Dernier message: 26/10/2006, 23h43
  5. Recherche Element dans une liste
    Par hellodelu dans le forum ASP
    Réponses: 7
    Dernier message: 19/08/2005, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo