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 :

Trier des valeurs


Sujet :

Java

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut Trier des valeurs
    Bonjour,

    J'ai une classe qui contient des valeurs de type integer et des boolean
    1 boolean est associé à un integer
    Je voudrai trier mes double du plus petit au plus grand mais je vois pas comment faire.
    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
     
    	private Integer valeur1;
     
    	private Integer valeur2;
     
    	private Integer valeur3;
     
    	private Integer valeur4;
     
    	private Integer valeur5;
     
    	private Integer valeur6;
     
    	private Integer valeur7;
     
    	private Integer valeur8;
     
    	private Integer valeur9;
     
    	private Boolean valeur1b;
     
    	private Boolean valeur2b;
     
    	private Boolean valeur3b;
     
    	private Boolean valeur4b;
     
    	private Boolean valeur5b;
     
    	private Boolean valeur6b;
     
    	private Boolean valeur7b;
     
    	private Boolean valeur8b;
     
    	private Boolean valeur9b;
    La valeur1 est associée à valeur1b, etc

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Hello,

    C'est pourtant la première chose qu'on voit quand on parle de programmer des objets : tu dois faire une classe pour stocker tes doubles.

    Une simple classe qui contient un int et un boolean.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut Trier des valeurs
    Bonjour, l'idée je pense serait de penser objet.

    En java, les structures pour gérer les couples, c'est les listes (java.util.List), avant c'était les Vecteurs (vector). C revolu.
    Et les listes peuvent être triées.

    ton couple serait un objet Couple, tous les couples vont etre stocké dans une Liste de type ArrayList.

    Ensuite, pour les trier , tu utilises la methode java.util.Collections.sort
    il faut au préalable personnaliser le comparateur qui te permet de trier tes elements dans l'ordre des valeures entières de couple comme suit :
    Vu que tu compares des objets, il faut implémenter une classe compareCouple par exemple qui implemente l'interface Comparator.
    Tu l'utilises ensuite dans java.util.Collections.sort(maListe,maClasseComparateur).

    Le résultat de l'execution renvoit bien mes couples d'objets triés :
    valeurInt 1
    valeurBool false
    valeurInt 2
    valeurBool true




    Couple.java :

    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
     
     
    public class Couple {
    private Integer valeurInt;
    private Boolean valeurBool;
     
    public Couple (Integer valeurInt,Boolean valeurBool) {
    	this.valeurInt=valeurInt;
    	this.valeurBool=valeurBool;
     
     
    }
     
    public Integer getValeurInt() {
    	return valeurInt;
    }
     
    public void setValeurInt(Integer valeurInt) {
    	this.valeurInt = valeurInt;
    }
     
    public Boolean getValeurBool() {
    	return valeurBool;
    }
     
    public void setValeurBool(Boolean valeurBool) {
    	this.valeurBool = valeurBool;
    }
     
    }
    CompareCouples.java

    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
     
    import java.util.Comparator;
     
     
    public class CompareCouples  implements Comparator<Couple>{
     
    	@Override
    	public int compare(Couple o1, Couple o2) {
    		if (o1.getValeurInt().compareTo(o2.getValeurInt())==0) {
    		return 0;
    		} else if (o1.getValeurInt().compareTo(o2.getValeurInt())<0) {
    		return -1;	
    		} else 
    		{
    		return 1;
    		}
    	}
     
    }

    Ta classe principale :
    TriEx.java


    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
     
    import java.util.ArrayList;
    import java.util.List;
     
     
    public class TriEx {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Module de remplacement de méthode auto-généré
     
    	List<Couple> lstEl = new ArrayList<Couple>();
     
     
    	lstEl.add(new Couple(2, true));
    	lstEl.add(new Couple(1,false));
    	lstEl.add(new Couple(3, true));
     
     
    	java.util.Collections.sort(lstEl,new CompareCouples());
     
     
    	for (Couple elt : lstEl) {
    		System.out.println("valeurInt" + elt.getValeurInt());
    		System.out.println("valeurBool" + elt.getValeurBool());
    	}
     
     
    	}
     
    }

    J'espère t'avoir guidé.


Discussions similaires

  1. Trier des valeurs lues dans un fichier
    Par moses crvmj dans le forum Langage
    Réponses: 1
    Dernier message: 26/11/2015, 00h25
  2. Trier des valeurs scientifiques
    Par étoile de mer dans le forum Shell et commandes POSIX
    Réponses: 4
    Dernier message: 30/03/2013, 22h06
  3. trier des valeurs
    Par Malo1992 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/05/2012, 18h17
  4. [XL-2010] Trier des valeurs dans une feuille et les mettre dans une autre feuille
    Par maharo1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/12/2011, 15h02
  5. Trier des valeurs alphanumériques
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 14/02/2008, 17h14

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