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

Java Discussion :

Interface List : inverser


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 53
    Par défaut Interface List : inverser
    Je dois inverser une List (interface List) récursivement.

    Le prototype doit être : public List reverse(List liste)

    J'ai trouver sur le forum le code suivant (pas récursif)):
    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
     
    public class javaCollect{
     
        static List reverse(List liste)
        {
    	List result = new ArrayList();
    	for(int i=liste.size()-1; i>=0; i--)
    	    result.add(liste.get(i));
    	return result;
        }
     
        public static void main(String[] args)
        {
    	List liste = new ArrayList();
    	for(int i=1; i<=5; i++)
    	    liste.add("fdg"+i);
     
    	List result = reverse(liste);
    	System.out.println(result);
        }
    }
    Si je remplace le List result = new ArrayList(); par List result = new List(); ca plante.

    qqn peut il m'aider ?

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par dword2add Voir le message
    Si je remplace le List result = new ArrayList(); par List result = new List(); ca plante.
    étonnant

    Citation Envoyé par dword2add Voir le message
    qqn peut il m'aider ?
    Non, on peut pas aider, regarde qu'est-ce qu'une interface et pourquoi on ne peut pas les instancier...

    List => interface, impossible à instancier
    ArrayList => implémentation concrète de l'interface List


  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 53
    Par défaut
    d'accord une interface n'a pas de constructeur.
    Mais je me pose la question si ce code fonctionne pour toutes les classes implémentant List.

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Citation Envoyé par dword2add Voir le message
    d'accord une interface n'a pas de constructeur.
    Entre autres ... c'est surtout parce qu'elle n'a pas de corps ou de code ...

    Citation Envoyé par dword2add Voir le message
    Mais je me pose la question si ce code fonctionne pour toutes les classes implémentant List.
    Non, bien sûr que non, car rien n'empêche une implémentation de List d'implémenter correctement les méthodes de List.
    Par exemple, je peux coder une implémentation de List qui ne fait que retourner 0 dans add .... ton code ne va pas fonctionner dans ce cas-ci

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 53
    Par défaut
    Alors comment peut on faire une méthode qui inverse une liste (pour toutes les Listes).

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    A condition que les classes réelles implémentent correctement List (on dit qu'elles respectent le contrat de List), ton code fonctionnera pour n'importe quelle List (ArrayList, LinkedList, etc.)

  7. #7
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bah tu l'as fait déjà: Puisque c'est toi qui choisit quelle implémentation utiliser, et que tu as choisi ArrayList qui remplit parfaitement son contrat, donc, ta méthode fonctionne sans problème.

Discussions similaires

  1. implementer interface list en généric
    Par goldorax113 dans le forum Langage
    Réponses: 9
    Dernier message: 16/10/2006, 12h47
  2. Liste inversée !
    Par Bydouille dans le forum Requêtes
    Réponses: 12
    Dernier message: 21/09/2006, 17h02
  3. [Conception] Liste inversée !
    Par Bydouille dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/09/2006, 10h23
  4. Inversion d'une liste chaînée
    Par sossomj dans le forum Pascal
    Réponses: 10
    Dernier message: 25/06/2006, 15h51
  5. [Interface Homme Machine] Liste des interactions possibles
    Par dymezac dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 27/01/2006, 11h45

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