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 � 2 dimensions] association String et float


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    35
    D�tails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 35
    Par d�faut [resolu][tableau � 2 dimensions] association String et float
    Bonjour,
    Je voudrais g�r� un tableau � 2 dimensions, dont la premi�re colonne contient des float et la deuxi�me contient une chaine de caractere associer.
    Je voudrait ensuite pouvoir trier ce tableau selon les la colonne de float.
    Exist'il une classe qui permet d'instancier un tel tableau? Sinon exist'il une astuce pour faire cela?
    Merci pour votre aide.
    Cordialement.

  2. #2
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 63
    Par d�faut
    Salut, la classe Hashmap permet de faire des associations cl�s-valeurs (entre objets seulement, il va donc falloir que tu utilises la classe Float et non pas le type float). Pour le tri tu pourras r�cup�rer la liste des cl�s et les ordonner comme tu le souhaites dans une autre structure.
    a+

  3. #3
    Membre �m�rite
    Avatar de divxdede
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    525
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 525
    Par d�faut
    je connais pas ta probl�matique mais tu peux utiliser un TreeMap (HashMap tri�s par Comparable)

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    private final TreeSet   array2 = new TreeMap(); // TreeMap de HashMap avec des clés de String;
     
    public void set(float num,String text,Object value)
    {     HashMap hashmap = this.array2.get( new Float(num) );
           if( hashmap == null )
           {   hashmap = new HashMap();
                this.array2.put( new Float(num), hashmap );
           }
     
           hashmap.put( text , value );
    }
     
    public Object get(float num,String text)
    {  HashMap hashmap = this.array2.get( new Float(num) );
        if( hashmap == null ) return null;
     
        return hashmap.get( text );
    }
     
    public Iterator elementsOrderedByFloat()
    {   Iterator result = new Iterator()
         {
             Iterator internal1 = array2.values().iterator();
             Iterator internal2 = rollIterator();
     
             public boolean hasNext()
             { if( internal2 == null) return false;
     
                boolean result= internal2.hasNext();
                if(!result)
                { this.internal2 = rollIterator();
                   return hasNext();
                } 
              }
     
             public Object next() 
             { if(this.internal2 == null) return null; /* ca ne doit pas arriver */
                return this.internal2.next();
             }
     
             public void remove()  { /* not supported */ }
     
             private Iterator rollIterator()
             { Iterator result = null;
                while( internal1.hasNext() )
                {  HashMap map = (HashMap)internal1.next();
                    if(map.getSize() > 0)   
                    {  result = map.values().iterator(); }
                } 
                return result;
              } 
         };
         return result;
    }
    C'est un code d'exemple, la collection TreeSet trie les elements en fonction de l'implementation de Comparable, donc tout sera tri�s en fonction des Float.
    Cependant j'ai utilis� dans cet exemple, une HashMap pour la colonne String, ce qui fait que ce n'est pas ensuite tri�s par String, ni m�me par l'ordre d'insertion, en fait les String pour un m�me float sont completement desordon�s !! si tu veux tri�s a l'interieur des cl�s float les cl�s String, utilise aussi un TreeMap;

    PS: je ne sais pas si ce code COMPILE je l'ai ecrit directement sur le forum.

  4. #4
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    35
    D�tails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 35
    Par d�faut
    Merci pour vos r�ponses, je me plonge dedans.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. transformer un tableau de char en string puis en float?
    Par maf.mouton dans le forum D�buter
    R�ponses: 8
    Dernier message: 30/04/2009, 13h34
  2. Tableau � 3 dimensions avec donn�es string & num�riques
    Par nianko dans le forum Macros et VBA Excel
    R�ponses: 3
    Dernier message: 24/02/2009, 11h33
  3. Tableau � n dimensions
    Par youb dans le forum MFC
    R�ponses: 10
    Dernier message: 13/05/2004, 14h13
  4. Passage d'un tableau � deux dimensions
    Par karl3i dans le forum C
    R�ponses: 3
    Dernier message: 20/10/2003, 14h50
  5. R�ponses: 23
    Dernier message: 21/08/2003, 07h16

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