Salut à tous,
J'aimerai simplement savoir si Java intègre une implémentation de files à taille fixe? Je n'ai rien trouvé de tel dans les java.util alors je m'apprette à coder mon implémentation...
Merci pour vos réponses...
tu peux controller toi meme la taille, pour avoir une taille fixe.
LinkedList
De manière plus abstraite, l'interface Queue.Envoyé par jhaythem
En fait je voudrai creer une classe de fille comprenant une gestion de la somme des éléments contenus dans la file courante.
Faut-il que je crée une classe héritant d'une LinkedBlockingQueue avec un paramètre supplémentaire qui est la somme et tout cela en redéfinissant les méthodes d'ajout et de suppression ?
Beinh en fait j'ai crée ma propre file suivant mes besoins...cad :
- Taille fixe ;
- Besoin uniquement d'enfiler ;
- Calcul de la somme des elements ;
- Optimisation d'ajout et suppression (LinkedList) ;
Voici les sources pour ceux qui en auraient besoin :
et voilou....
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 package leesa; import java.util.*; /********************************* * Classe de gestion d'une file * ********************************/ public class FileSTALTA { private int somme ; private LinkedList<Integer> tab ; private int taille ; private int nbElm ; /* Instanciation a l'aide d'une taille definie */ public FileSTALTA(int taille) { this.taille = taille ; this.tab = new LinkedList<Integer>(); this.somme = 0 ; this.nbElm = 0 ; } /* Ajout d'un element en queue de file */ public void enfiler(int o) { // Mise a jour de la somme dans tous les cas this.somme += o ; // Si file non pleine if( this.nbElm++ < this.taille) { this.tab.addFirst(o); } // Si file pleine else { // Mise a jour de l'element retire this.somme -= this.tab.removeLast(); this.tab.addFirst(o); } } public void affiche() { for(int i = 0 ; i< this.taille ; i++) { System.out.print(" "+this.tab.get(i)); } System.out.println(" --> "+this.somme); } public int getTaille() { return this.taille ; } public int getNbElm() { return this.nbElm ; } public int getSomme() { return this.somme ; } }
Merci a tous...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager