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 :

Exercice Java avancé : Vector


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 18
    Par défaut Exercice Java avancé : Vector
    Bonjour,

    je vous expose mon "soucis" qui n'en est pas vraiment un.

    En fait, je dois réaliser un exercice dit "avancé" en Java, mais je ne suis qu'un débutant dans ce language. Je dois renvoyer ce code ce soir à mon maitre de stage pour discuter avec lui dudit code, ce qui me permettrait d'être engagé dans la boite. On y fait principalement du html/css/javascript,que je maîtrise, mais il cherche une personne pouvant apporter en + une certaine connaissance en Java.

    Donc, je voudrais vous poster l'exercice, et voir vos solutions, je pense que ca ne vous prendrait que quelques minutes. De mon coté, je tente une version, qui à mon avis sera moins optimisée que la vôtre.

    Voici l'exercice en question:

    Exercice JAVA avancé
    Les classes standards « Vector » et « ArrayList » permettent d'utiliser les listes simples, de dimension variable. Elles sont basées sur l'utilisation cachée d'un tableau d'objets (Object array[]) qui grandit au fur et à mesure des besoins de la liste, avec une variable gardant la taille réellement
    utilisée, et par saut, afin de ne pas récréer un nouveau tableau à chaque insertion. Vous pouvez examiner l'implémentation de la classe
    « java.util.Vector ».
    Elles présentent toutefois un problème car le tableau sous-jacent ne décroit jamais. Si à un moment le tableau contient 10000 éléments, le tableau ne descendra pas en dessous de cette taille, même si par la suite il n'en contient plus que 100.
    Ecrire une classe IntList qui s'adapte de façon élégante à l'ajout et à la suppression d'éléments (de type int), avec un tableau d'entier comme stockage et le squelette suivant:

    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
    Class IntList
    {
    private int list[];
    ...
    /**
    * Retourne le nombre d'éléments contenus dans la liste
    */
    public int size() {...}
    /**
    * ajoute l'élément i à la fin
    */
    public void add(int i) {...}
    /**
    * Insère l'élément i à la position index
    */
    public void insertElementAt(int i,int index) {...}
    /**
    * Vide la liste
    */
    public void clear() {...}
    /**
    * Retire l'élément à la position index
    */
    public int removeElementAt(int index) {...}
    /**
    * Retourne la position de l'élément i dans la liste ou -1
    */
    public int indexOf(int i) {...}
    /**
    * Insère true si i est dans la liste, faux sinon
    */
    public boolean contains(int i) {...}
    /**
    * Retourne l'élément à la position index
    */
    public int get(int index) {...}
    /**
    * Retourne une String qui décrit le contenu de la liste
    */
    public String toString() {...}
    /**
    * Trie la liste dans l'ordre croissant
    */
    public void sort() {...}
    }
    Merci d'avance pour votre aide!

  2. #2
    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 : 45
    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
    et qu'est-ce qui vous bloque exactement?

  3. #3
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 18
    Par défaut
    Bonjour,

    rien de ne me bloque précisément en fait.

    Cela m'intéressais par contre de comparer les différentes versions, si des personnes étaient intéressées par l'exercice, histoire de voir ou j'aurai pu m'améliorer, et avoir une meilleure base de discussion car plusieurs alternatives au problème.

  4. #4
    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 : 45
    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
    perso j'aurais montré à la personne la méthode trimToSize() présente sur vector et arraylist, méthode qui rend caduque de faire une autre implémentation

  5. #5
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 18
    Par défaut
    ah oui, effectivement, je n'avais jamais vu cette méthode^^

Discussions similaires

  1. Petite question sur exercice Java
    Par romain1 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 01/09/2008, 11h37
  2. Exercices Java Objet
    Par ginos dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 30/04/2008, 00h41
  3. Aide exercices Java débutant
    Par dalil777 dans le forum Général Java
    Réponses: 9
    Dernier message: 08/02/2008, 22h19
  4. Réponses: 2
    Dernier message: 02/02/2006, 23h00

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