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 :

Avis sur la FAQ developpez.net sur les List


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 66
    Points : 62
    Points
    62
    Par défaut Avis sur la FAQ developpez.net sur les List
    Bonjour à tous,

    Je voulais avoir votre avis sur une information contenue dans la FAQ JAVA:

    java.util.LinkedList :
    Un java.util.LinkedList utilise une liste chainée pour ranger les données. L'ajout et la suppression d'éléments est aussi rapide quelle que soit la position, mais l'accès aux valeurs par leur indice est très lente.
    Complexité : Les opérations size, isEmpty, add, remove, set, get sont exécutées en temps constant. Toutes les méthodes qui font référence à un indice sont exécutées en temps O(n).
    Etes-vous d'accord avec cette définition ? Pour ma part, elle n'est pas assez précise et peu porté à confusion.

    J'en profite pour remercier beaucoup tout les contributeurs de la FAQ JAVA qui m'a souvent servi !!!!

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Pour moi, cela est clair.
    Surtout si on compare à ce que l'on trouve dans la javadoc.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Je là trouve claire aussi :
    Un java.util.LinkedList utilise une liste chainée pour ranger les données. L'ajout et la suppression d'éléments est aussi rapide quelle que soit la position,
    C'est une chaîne (au sens littéral), il suffit de retirer un maillon ou d'en placer un nouveau en faisant les raccords. Donc très rapide.
    mais l'accès aux valeurs par leur indice est très lente.
    Complexité : Les opérations size, isEmpty, add, remove, set, get sont exécutées en temps constant. Toutes les méthodes qui font référence à un indice sont exécutées en temps O(n).
    Puisqu'il s'agit d'une chaîne, on est obligé de parcours tout depuis le début pour atteindre le maillon souhaité (complexité O(n) ).

    Enfin c'est comme ça que je le comprend
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Du coup, 'faut reconnaître que add(), remove(), set() et get() sont O(n), pas O(1)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    La remarque est justifiée :
    1. La méthode add(E) est bien en O(1) mais pas add(int, E)
    2. Toutes les méthodes remove sont en O(n) ; y compris set(int, E).
    3. Idem pour get.

    Le truc qui serait vrai et vraiment algorithmiquement utile, c'est le fait que toutes les opérations par itérateur sont en O(1) !
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 66
    Points : 62
    Points
    62
    Par défaut
    Je suis entièrement d'accord avec thelvin et nemek et c'était la principale raison de ce post.

    Serait-il possible de faire pour préciser le contenu le FAQ ?

    Merci pour votre participation

  7. #7
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Il faut taper très fort sur un modérateur, pas moi si possible

    Je fais passer le message
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  8. #8
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par jackcam Voir le message
    Je suis entièrement d'accord avec thelvin et nemek et c'était la principale raison de ce post.

    Serait-il possible de faire pour préciser le contenu le FAQ ?

    Merci pour votre participation
    Pour participer à la FAQ il y a un sujet dédié, tu peux y poster de nouvelles questions/réponses ou proposer une amélioration/correction d'une entrée existante
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 66
    Points : 62
    Points
    62
    Par défaut
    Merci de votre aide à tous !

    Je vais clore le sujet

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

Discussions similaires

  1. Système de LIKE sur http://www.developpez.net
    Par Anonyme1784 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/12/2013, 14h14
  2. Developpez.net sur navigateur mobile?
    Par mail.spam dans le forum Evolutions du club
    Réponses: 24
    Dernier message: 05/11/2012, 16h41
  3. Flux 'developpez.net' sur opera
    Par regis3 dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 22/03/2010, 04h04
  4. Pb sur les liens sur la faq sybase
    Par lenitoy dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 27/03/2006, 14h14

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