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 :

Créer une liste d'objet spécifiques


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Créer une liste d'objet spécifiques
    Bonjour,

    dans le cadre d'un projet java, je dois stocker des objets dans une structure dynamique.
    J'aimerais créer avec mes petites mains une classe qui remplie le même rôle que java.util.ArrayList (parce que bien sur on ne peut pas utiliser une classe existante ).

    S'il est simple de faire une classe équivalente au type Arraylist qui stocke des objets de type 'object' (dans un Object[] par ex), j'aimerais savoir s'il était possible de créer une classe qui ne stocke qu'un seul type d'objet, type défini à l'instanciation de la classe, afin de ne pas avoir a caster chaque élément de ma liste quand je veux les utiliser.

    par exemple, avec un Arraylist, on peut faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ArrayList<MyObject> result = new ArrayList<MyObject>();
    result sera donc un ArrayList contenant exclusivement des objets du type MyObject.
    result.get(i) sera du type MyObject, je n'aurais pas à faire (MyObject)result.get(i)

    J'aimerais donc créer une classe qui puisse être instancier de la même façon que ArrayList, en précisant un type d'objet.

    Merci d'avance pour vos indications

  2. #2
    Membre actif

    Étudiant
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Points : 276
    Points
    276
    Par défaut
    Bonsoir,

    Ca s'appelle la généricité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class MaClasse<K> {
     
    	public void maMethode(K monObjetDeTypeK) {
    		// ...
    	}
     
    	public static void main(String[] args) {
    		MaClasse<String> m = new MaClasse<String>();
    	}
    }
    Fait quelques recherches !

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Merci pour cette information.

    J'avais parcouru ce forum pourtant et lu deux bouquins (qui datent peut-être un peu).
    Pour ceux que ça intéresse, voila un tuto sur le sujet : http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf

    Quoi qu'il en soit, encore merci

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

Discussions similaires

  1. [Débutant] Créer une liste d'objets
    Par arngrimur dans le forum C#
    Réponses: 3
    Dernier message: 22/02/2017, 14h08
  2. Créer une liste d'objets de template
    Par darkman19320 dans le forum C++
    Réponses: 9
    Dernier message: 04/01/2012, 09h29
  3. Réponses: 1
    Dernier message: 30/03/2011, 22h27
  4. Réponses: 3
    Dernier message: 19/07/2010, 08h42
  5. Créer une liste d'objets statiques dans une classe
    Par crossbowman dans le forum C++
    Réponses: 3
    Dernier message: 13/03/2006, 09h11

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