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 :

Débordement LinkedList ?


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 125
    Par défaut Débordement LinkedList ?
    Bonjour, j'ai codé une mini-classe représentant une Pile, et j'aimerais savoir comment gérer le fait que la LinkedList peut être "pleine"...

    J'ai donc gérer IllegalStateException, mais je ne sais pas si c'est la bonne exception à gérer...

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    import java.util.LinkedList;
    import java.util.NoSuchElementException;
     
    public class PileLinkedList<T> implements IntPile<T> {
     
    	private LinkedList<T> pile;
     
    	public PileLinkedList() {
     
    		this.pile = new LinkedList<T>();
    	}
     
    	public void empiler(T e) throws PilePleineException {
     
    		try {
     
    			this.pile.addLast(e);
    		}
    		catch(IllegalStateException except) {
     
    			throw new PilePleineException();
    		}
    	}
     
    	public void depiler() throws PileVideException {
     
    		try {
     
    			this.pile.removeLast();
    		}
    		catch(NoSuchElementException except) {
     
    			throw new PileVideException();
    		}
    	}
     
    	public T dernier() throws PileVideException {
     
    		try {
     
    			return this.pile.getLast();
    		}
    		catch(NoSuchElementException except) {
     
    			throw new PileVideException();
    		}
    	}
     
    	public boolean estVide() {
     
    		return this.pile.isEmpty();
    	}
    }
    Merci de votre aide

  2. #2
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Par défaut
    Salut.

    Il n'y a pas de limite sur le nombre d'éléments qui peuvent être ajoutés à une LinkedList.
    Tu n'as donc pas à gérer d'exception.

  3. #3
    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 : 46
    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
    Au dernières nouvelles, une linkedlist n'a pas de taille maximale autre que la mémoire disponible dans la jvm. Et si t'en arrive à consommer toute la mémoire de la jvm, t'as bien plus de sousis à te faire qu'à gérer l'élément de la linked list. T'as meme pas de garantie que ton new PilePleineException() réussie puisque, pour ça, faut de la mémoire....

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 125
    Par défaut
    D'accord, je demande ça que je suis étudiant et on m'avait donné cette correction.. Donc l'exception IllegalStateExcpetion est inutile ici ?

    Merci encore

  5. #5
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    Bonjour,

    D'apres la javadoc la methode addLast ne revoie pas d'expection donc tu ne poura jamais catcher cette exeption

    Cordialement

  6. #6
    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 : 46
    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
    IllegalStateException est une RuntimeException, il n'est donc pas nécessaire de la déclarer. Cependant, pour les classes de base de java, "d'habitude" sun mentionne dans le comportement de la méthode si ca peut déclencher un illegalState.

  7. #7
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    IllegalStateException est une RuntimeException, il n'est donc pas nécessaire de la déclarer. Cependant, pour les classes de base de java, "d'habitude" sun mentionne dans le comportement de la méthode si ca peut déclencher un illegalState.
    Arf oui c'set vrais ca :s je l'avais oublier
    Merci bien de le rappeller

Discussions similaires

  1. Probléme de débordement en virgule flottante
    Par wikers dans le forum Langage
    Réponses: 7
    Dernier message: 05/08/2005, 17h35
  2. [info]LinkedList vs Vector
    Par Regis.C dans le forum Langage
    Réponses: 6
    Dernier message: 13/07/2005, 22h39

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