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 :

Tableau et tri


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Par défaut Tableau et tri
    Bonsoir,

    J'ai un gros soucis avec les tables, si quelqu'un pouvait m'aider s'il vous plait,
    voici mon problème.

    j'ai une fonction avec 2 tableau en entrée :

    String[] var1;
    String[] var2;

    Ces valeurs contienne par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Var1  Var2
    5     test_05
    *     test_05bis
    1     test_01

    * identique à la valeur précédente (5)

    Je n'arrive pas à combiner ces tableau dans 1 seule table pour ensuite les trier par ordre décroissant (suivant var1).

    En langage abap je sais faire, mais j'ai beaucoup de mal en java

    Par avance merci.
    Cordialement,
    Spawnrad

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    On peut répondre à ce problème en passant par une liste et en utilisant Collections.sort :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    List<String> l = Arrays.asList(a);
    l.addAll(Arrays.asList(b));
    Collections.sort(l, new Comparator<String>() {
    	@Override
    	public int compare(String s1, String s2) {
    		return s1.compareTo(s2);
    	}
    });
    String[] fusion = (String[]) l.toArray();

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le mieux en language objet est d'oublier ces double tableau et de travailler avec vos objets.

    D'abord, créer votre propre classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class MonConteneur{
        private String cle;
        private String value;
        public MonConteneur(String cle, String value){
            this.cle = cle; 
            this.value = value;
        }
        public String getCle(){return cle;}
        public String getValue(){return value;}
    }
    Ensuite, passer ça en parametre à votre méthode et non pas les double tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void maMethode(List<MonConteneur> maListe){
       //....
    }
    et enfin, pour trier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Collection.sort(maListe,new Comparator(){
       public int compare(Object o1, Object o2) {
           MonConteneur c1 = (MonConteneur)o1;
           MonConteneur c2 = (MonConteneur)o2;
           return c1.getCle().compareTo(c2.getCle());
       }
    });

Discussions similaires

  1. Réponses: 15
    Dernier message: 20/08/2009, 16h28
  2. tableau 2D trié par suppression de lignes
    Par naoma dans le forum Langage
    Réponses: 15
    Dernier message: 23/06/2009, 17h10
  3. Recherche élément médian dans tableau non trié
    Par chicorico dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2009, 17h39
  4. Afficher un tableau associatif trié
    Par peuf23 dans le forum Langage
    Réponses: 2
    Dernier message: 05/07/2006, 17h14
  5. Réponses: 3
    Dernier message: 16/12/2002, 16h12

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