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 :

que choisir (tableau avec java)


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    12
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Par d�faut que choisir (tableau avec java)
    salut,
    je veux manipuler un tableau d'objet(parcour et exploitation du contenue) mais mon probl�me est que les tableaux en java sont lents � manipuler .
    alors quoi utiliser;
    Je ne suis pas comp�tent en java; mais j'ai entendu parl� des vector, index, container... mais je ne sais pas quoi choisir?
    merci.

  2. #2
    Membre �prouv�
    Avatar de mavina
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : Chine

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par d�faut
    Tes objets ont tous le m�me type ?
    Ton tableau a une taille fixe ?
    Explicite un peu ton probl�me

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    12
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Par d�faut taille
    le tableau contiendra un m�me type d'objet; avec la taille inconnue: le nombre d'objets n'�tant pas connu.

  4. #4
    Membre �prouv�
    Inscrit en
    Mai 2003
    Messages
    103
    D�tails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 103
    Par d�faut
    Je sais pas si les tableaux sont lents en java. Personellement, je ne me soucie pas des performances d�s le d�part et il m'est rarement( pour ne pas dire jamais enfin de m�moire ) arriv� � r��crire du code pur java pour am�liorer les performances.

    Bon sinon,

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     List maListeDObjets = new ArrayList();
     
    maListeDObjets.add ( monObjet ) ;
    A+

  5. #5
    Membre �prouv�
    Avatar de mavina
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : Chine

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par d�faut
    et ne pas oublier, lorsque tu acc�des � un �l�ment, de caster selon le type :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    Type monObjetTemporaire=(Type)monArrayList.get(x);
    Referes toi � la faq

    mavina

  6. #6
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    109
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 109
    Par d�faut
    AMHA une collection , qui est un objet complexe et qui en plus n�cessite des casts sera n�cessairement moins performante qu'un tableau simple.

  7. #7
    Membre �prouv�
    Avatar de mavina
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : Chine

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par d�faut
    Citation Envoy� par MangeurVasqu�
    AMHA une collection , qui est un objet complexe et qui en plus n�cessite des casts sera n�cessairement moins performante qu'un tableau simple.
    Citation Envoy� par FAQ
    Complexit� : Les op�rations size, isEmpty, get, set, iterator sont ex�cut�es en temps constant.
    Les op�rations d'ajout/suppression sont ex�cut�es en temps constant amorti (les ajouts/suppressions en fin de liste sont plus rapides).
    Le probleme du tableau simple c'est qu'il ne pourra pas agrandir son tableau sans perdre �norm�ment de temps, le arraylist lui permet en temps constant de le faire, et les ajouts sont en temps amortis, ce qui n'est pas un d�tail ...

  8. #8
    Expert confirm�
    Avatar de sinok
    Profil pro
    Inscrit en
    Ao�t 2004
    Messages
    8 765
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 8 765
    Par d�faut
    Et pour les cast, java 1.5 permet de s'en s�parer en utilisant les generics
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    ArrayList<String> toto = new ArrayList<String>();
    toto.add("machin");
    String bidule = toto.get(0);

  9. #9
    Expert �minent
    Avatar de adiGuba
    Homme Profil pro
    D�veloppeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par d�faut
    Citation Envoy� par MangeurVasqu�
    AMHA une collection , qui est un objet complexe et qui en plus n�cessite des casts sera n�cessairement moins performante qu'un tableau simple.
    Les ArrayList utilisent un tableau en interne. Ce dernier est redimensionn� si besoin.

    Si la taille de ton tableau n'est pas connu � l'avance, il est grandement pr�f�rable d'utiliser ArrayList, plut�t que de recoder des m�thodes complexes de gestion du tableau, ce qui revient � peu pr�s au m�me au niveau de la complexit� (la g�n�ricit� en moins si tu type fortement ton tableau)...

    Citation Envoy� par sinok
    Et pour les cast, java 1.5 permet de s'en s�parer en utilisant les generics
    On ne s'en s�pare pas totalement, car s'il sont cach�s dans le code source, ils sont toujours pr�sent � l'ex�cution...


    a++

  10. #10
    Expert confirm�
    Avatar de sinok
    Profil pro
    Inscrit en
    Ao�t 2004
    Messages
    8 765
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 8 765
    Par d�faut
    J'en �tais bien conscient

  11. #11
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    12
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Par d�faut
    Citation Envoy� par ohnerom
    List maListeDObjets = new ArrayList();

    maListeDObjetc.add ( monObjet ) ;


    A+
    ce code ne marche pas. Je l'ai copi� et coll� (jbuilder 2005 entreprise) mais comment �a se fait
    type= et constructeur ? J'ai pas bien compris?

  12. #12
    Expert �minent
    Avatar de adiGuba
    Homme Profil pro
    D�veloppeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par d�faut
    Citation Envoy� par walid2012
    ce code ne marche pas je l'ai copi� et coll� (jbuilder 2005 entreprise)
    Et pourant il marche !!!

    Maintenant si tu ne nous dis pas quelle erreur tu obtiens on ne pourra pas avancer...


    Citation Envoy� par walid2012
    mais comment ca se fait type= List et constructeur ArrayListe()? g pas bien compris?
    C'est du Polymorphisme !
    Tu devrais revoir tes cours de Java et de POO c'est une notion de base

    a++

  13. #13
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    12
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Par d�faut erreur
    "ShapeMover.java" : impossible de trouver le symbole ; symbole : classe ArrayList, emplacement : classe editeur.ShapeMover.MyCanvas en ligne 163, colonne 35

  14. #14
    Expert �minent
    Avatar de adiGuba
    Homme Profil pro
    D�veloppeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par d�faut
    Citation Envoy� par walid2012
    "ShapeMover.java" : impossible de trouver le symbole ; symbole : classe ArrayList, emplacement : classe editeur.ShapeMover.MyCanvas en ligne 163, colonne 35
    tu n'as pas fait les import des classes...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    import java.util.List;
    import java.util.ArrayList;
    a++

  15. #15
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    12
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Par d�faut merci
    pardon adiGuba pour mes b�tises.
    De plus, je ne suis pas competant en java mais j'ai une id�e g�n�rale et j'ai besoin du java juste pour une application!

    merci

  16. #16
    Membre confirm� Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Par d�faut
    Citation Envoy� par adiGuba
    Et pourant il marche !!!

    mais comment ca se fait type= List et constructeur ArrayListe()? g pas bien compris?
    C'est du Polymorphisme !
    Tu devrais revoir tes cours de Java et de POO c'est une notion de base

    a++
    Ce n'est pas du polymorphisme, c'est juste que la classe ArrayList impl�mente l'interface List.

  17. #17
    Membre �prouv�
    Avatar de mavina
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : Chine

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par d�faut
    Citation Envoy� par tnodev
    Ce n'est pas du polymorphisme, c'est juste que la classe ArrayList impl�mente l'interface List.
    Le fait de pouvoir faire List l=new ArrayList(); s'appelle du polymorphisme, revois tes cours
    ArrayList impl�mente l'interface List, et le fait de faire List l= new ArrayList(), c'est comme si on avait un tableau de list et qu'on appelait une fonction (ici constructeur), la JVM se charge d'aller chercher la bonne dans la bonne classe ...
    Eh oui, le constructeur est une proc�dure, le polymorphisme est pr�sent ici aussi

  18. #18
    Membre confirm� Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Par d�faut
    Citation Envoy� par mavina
    Le fait de pouvoir faire List l=new ArrayList(); s'appelle du polymorphisme, revois tes cours
    ArrayList impl�mente l'interface List, et le fait de faire List l= new ArrayList(), c'est comme si on avait un tableau de list et qu'on appelait une fonction (ici constructeur), la JVM se charge d'aller chercher la bonne dans la bonne classe ...
    Eh oui, le constructeur est une proc�dure, le polymorphisme est pr�sent ici aussi
    Nous sommes tout � fait d'accord sur la d�finition du polymorphisme. Cependant dans une interface, il n'y a pas de constucteur. Donc je ne vois pas pourquoi l'on parle de polymorphisme dans le cadre de l'instanciation d'une classe qui impl�mente une interface (belle phrase, non...).

  19. #19
    Expert �minent
    Avatar de adiGuba
    Homme Profil pro
    D�veloppeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par d�faut
    Citation Envoy� par tnodev
    Cependant dans une interface, il n'y a pas de constucteur. Donc je ne vois pas pourquoi l'on parle de polymorphisme dans le cadre de l'instanciation d'une classe qui impl�mente une interface (belle phrase, non...).
    Cela n'emp�che pas le polymorphisme (cf paragraphe suivant : http://java.developpez.com/livres/pe...&page=1#01.009 )
    Apr�s tout une interface n'est rien d'autre qu'une classe 100% abstraite...

    a++

  20. #20
    Membre confirm� Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Par d�faut
    Un g�n�ral 8 �toiles arrive, �a ne rigole plus...

    Permettez moi d'insister, le polymorphisme, pour moi, c'est la capacit� qu'une m�thode d'une classe fille ait un comportement diff�rent de celle de sa classe m�re... ouf !
    Or, dans ce cas pr�cis, l'interface List ne d�crit aucun comportement, ni sur les m�thodes, ni sur le constructeur, donc encore une fois, je ne comprend pas pourquoi parle t-on de polymorphisme.

    Ce pourrait �tre un b� sujet de dissertation, non ?

Discussions similaires

  1. Que choisir : PHP ou Java ?
    Par Community Management dans le forum G�n�ral Conception Web
    R�ponses: 200
    Dernier message: 13/06/2014, 18h00
  2. Que choisir : PHP versus Java ?
    Par Sniper37 dans le forum G�n�ral Conception Web
    R�ponses: 164
    Dernier message: 28/04/2009, 17h50
  3. Que choisir ? Delphi ou Java ?
    Par Jean-Yves dans le forum D�bats sur le d�veloppement - Le Best Of
    R�ponses: 89
    Dernier message: 19/04/2008, 16h40
  4. Que choisir C++ ou Java pour de petites applications ?
    Par kedare dans le forum Langages de programmation
    R�ponses: 4
    Dernier message: 23/02/2006, 23h48
  5. [Collections] Que choisir (tableau ou Map)
    Par thomine dans le forum Collection et Stream
    R�ponses: 6
    Dernier message: 22/06/2005, 17h25

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