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

Collection et Stream Java Discussion :

code de filtre et tri des chaines de caractères


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut code de filtre et tri des chaines de caractères
    j'ai une liste des chaines de caractères que je veux trier, par exemple :
    • Offre Forfait 35 € 12 mois
    • Offre Forfait 100 € 12 mois
    je veux la trier selon la partie (35euros) cad comparer toutes les sommes de toutes les chaines que j'ai, le problème comme j'ai le "12 mois" je pourrais pas utiliser les fonctions qui filtrent selon les caractères alphasnumériques.

    Merci

  2. #2
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Si tu veux trier selon la partie coût, pourquoi la partie durée te gène-t-elle ?

  3. #3
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut tri en java des chaines de caractères
    justement je vois pas trop comment faire en java pour trier des chaines de caractères comme je dois juste m'arreter à la partie cout

  4. #4
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Tu peux utiliser la methode split() qui te permet d'obtenir les différents champs de ta chaine suivant un séparateur.(ici le " "). Tu pourras obtenir la alors obtenir ton champ 35 euros.

  5. #5
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut Exemple
    Merci
    est ce possible un exmple stp
    je suis un peu pressée
    Merciiiii

  6. #6
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut Sorry je vois mais...
    je vois comment ça marche la méthode de split,
    en fait je dois coder une méthode qui trie ces chaines en fonction de ce champs, au lieu de coder un algorithme ya til pas en java des methodes permettant d'ordonner des chaines en comparant une partie donnée de ces chaines,
    comme dans mon cas je dois a cahque fois voir la partie montant et réordonner mon tableau des chaines.

  7. #7
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Je te propose d'utiliser un TreeMap.

    Un treeMap est une Map qui ajoute une fonction de tri dans les clés. L'ordre des clés est l'ordre naturel. Attention : l'ordre est conservé que pour les types de base en java comme int, string, date, etc.

    Facon de procéder, tu récupères ton champ (35 euros) avec split(). Ensuite, tu ajoutes ton dans ta TreeMap ton champ comme clé et ensuite la référence de ta chaine de caractères comme valeurs.
    N'oublie pas de faire un parseInt de ton champ cout. Inspire de toi de cet exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    package test;
     
    import java.util.Map;
    import java.util.TreeMap;
     
    public class Test {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Map<Integer, String> map = new TreeMap<Integer, String>();
    		Integer a = new Integer(5);
    		Integer b = new Integer(15);
    		Integer c = new Integer(0);
    		Integer d = new Integer(100);
    		Integer e = new Integer(200);
     
    		String sa = "5";
    		String sb = "15";
    		String sc = "0";
    		String sd = "100";
    		String se = "200";
     
    		map.put(e,se);
    		map.put(c, sc);
    		map.put(a, sa);
    		map.put(d, sd);
    		map.put(b, sb);
     
    		System.out.println(map.toString());
    	}
     
    }
    Affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {0=0, 5=5, 15=15, 100=100, 200=200}
    J'espère que je t'ai aidé. Je te passe ces liens :
    http://java.developpez.com/faq/java/...angage_donnees
    http://java.sun.com/j2se/1.4.2/docs/...llections.html
    http://java.sun.com/j2se/1.4.2/docs/...l/TreeMap.html

  8. #8
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut tri des clés !
    Tu veux dire que le treeMap fait automatiquement un tri selon la clé?

    Merci

  9. #9
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Oui oui

  10. #10
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut Split et API??
    une dernière question peut etre un peu bete lol!!!

    la methode split ?? elle fait partie de quelle package
    je vois pas , je la retrouve pas !

  11. #11
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 247
    Points : 293
    Points
    293
    Par défaut
    c'est une methode de la classe java.lang.String

  12. #12
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut method static ??
    justement! c'est une methode static, je devrais y avoir accès en tapant simplement java.lang.String ou bien c'est pas static??

  13. #13
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    J'ai regardé dans la javadoc, et la méthode split () de la classe String n'est pas static.
    voila son prototype :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    split
     
    public String[] split(String regex)
     
        Splits this string around matches of the given regular expression.
     
        This method works as if by invoking the two-argument split method with the given expression and a limit argument of zero. Trailing empty strings are therefore not included in the resulting array.
     
        The string "boo:and:foo", for example, yields the following results with these expressions:
     
            Regex 	Result
            : 	{ "boo", "and", "foo" }
            o 	{ "b", "", ":and:f" }
     
        Parameters:
            regex - the delimiting regular expression 
        Returns:
            the array of strings computed by splitting this string around matches of the given regular expression 
        Throws:
            PatternSyntaxException - if the regular expression's syntax is invalid
        Since:
            1.4
        See Also:
            Pattern

  14. #14
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut TreeMap
    concernant le TreeMap exemple que j'ai eu ! c'est bien du java5 ?? Non
    comme jutilise du java4 penses tu que la fonctionnalité du tri selon la clé marche tjrs???

    Merci

  15. #15
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 247
    Points : 293
    Points
    293
    Par défaut
    T'as pas besoin de méthode static tu as tes chaine de charactere.

    Tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String [] test = "toto;tata".split(";");
    Et la tu as un tableau de deux chaines toto et tata

  16. #16
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Oui, le TreeMap y est depuis la 1.2

  17. #17
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut Récupération des valeurs des chaines du map
    Citation Envoyé par publicStaticVoidMain Voir le message
    Je te propose d'utiliser un TreeMap.

    Un treeMap est une Map qui ajoute une fonction de tri dans les clés. L'ordre des clés est l'ordre naturel. Attention : l'ordre est conservé que pour les types de base en java comme int, string, date, etc.

    Facon de procéder, tu récupères ton champ (35 euros) avec split(). Ensuite, tu ajoutes ton dans ta TreeMap ton champ comme clé et ensuite la référence de ta chaine de caractères comme valeurs.
    N'oublie pas de faire un parseInt de ton champ cout. Inspire de toi de cet exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    package test;
     
    import java.util.Map;
    import java.util.TreeMap;
     
    public class Test {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Map<Integer, String> map = new TreeMap<Integer, String>();
    		Integer a = new Integer(5);
    		Integer b = new Integer(15);
    		Integer c = new Integer(0);
    		Integer d = new Integer(100);
    		Integer e = new Integer(200);
     
    		String sa = "5";
    		String sb = "15";
    		String sc = "0";
    		String sd = "100";
    		String se = "200";
     
    		map.put(e,se);
    		map.put(c, sc);
    		map.put(a, sa);
    		map.put(d, sd);
    		map.put(b, sb);
     
    		System.out.println(map.toString());
    	}
     
    }
    Affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {0=0, 5=5, 15=15, 100=100, 200=200}
    J'espère que je t'ai aidé. Je te passe ces liens :
    http://java.developpez.com/faq/java/...angage_donnees
    http://java.sun.com/j2se/1.4.2/docs/...llections.html
    http://java.sun.com/j2se/1.4.2/docs/...l/TreeMap.html
    Une fois le map remplie, je vois pas comment faire pour le parcourir et récupérer que les valeurs une fois le tri fait selon les clés qui sont des Integer.

    Merci

  18. #18
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut les values d'une map
    c'est simple en fait!
    map.values();

  19. #19
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Tu peux faire ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Collection<String> cv = map.values();		
    System.out.println(cv.toString());
    Tu déclares une collection de string et tu récupères toutes les valeurs de ton map ordonnées
    avec la méthode values().

    Good luck !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/03/2012, 11h32
  2. Comparaisons et tri des chaines de caractère.
    Par liliemmy dans le forum SQL
    Réponses: 2
    Dernier message: 01/04/2008, 17h52
  3. tries des chaine en c++
    Par mouhiballah dans le forum C++
    Réponses: 1
    Dernier message: 14/10/2007, 15h29
  4. tri des chaines de charactères
    Par rhani2010 dans le forum C
    Réponses: 12
    Dernier message: 21/02/2007, 01h12
  5. [VB.NET]comment on filtre des chaines de caractères ?
    Par zouhib dans le forum Windows Forms
    Réponses: 61
    Dernier message: 14/06/2006, 14h33

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