Je dois écrire un très court morceau de code sur un deque
, mais je ne suis pas sûr de savoir comment écrire le code pour les méthodes, si quelqu'un pouvait m'aider avec l'une des méthodes, (par exemple une méthode pour ajouter un objet à la fin de la deque) alors cela me permettrait de commencer. Je suis sûr que je pourrais gérer le reste des méthodes, juste au moment où je suis assez perplexe.Java Deque sans utiliser les classes existantes comme LinkedList?
0
A
Répondre
2
Je ne sais pas exactement ce que vous êtes après, mais les méthodes disponibles pour le Deque sont répertoriés dans les Javadoc
6
Deques sont généralement mis en œuvre sous forme de listes doublement chaînées. Vous implémentez une liste doublement chaînée en gardant une trace du premier et du dernier élément de la liste et en laissant chaque élément suivre son prédécesseur et son successeur.
public class Deque<T> {
private class Node {
Node(T value) {
this.value = value;
}
T value;
Node next, prev;
}
private Node first, last;
public void addFront(T value) {
Node oldFirst = first;
first = new Node(value);
// The old first item is now the second item, so its the successor of
// the new first item
first.next = oldFirst;
// if first was null before, that means the deque was empty
// so first and last should both point to the new item
if(oldFirst == null) {
last = first;
} else {
// If there previously was a first element, this element is
// now the second element and its prev field should point to
// the new first item
oldFirst.prev = first;
}
}
}
Questions connexes
- 1. Java: Utiliser ObjectOutputStream sans sérialisable
- 2. Java: Problème avec TreeSet et LinkedList
- 3. Meilleure façon de recharger les classes Java sans redémarrer WebSphere?
- 4. Assimiler les applications existantes?
- 5. Comment utiliser les classes Java définies par l'utilisateur dans Matlab?
- 6. sql - mise à jour sans surcharger les informations existantes
- 7. Réception d'une méthode Java sans utiliser getDeclaredMethod
- 8. Utiliser les langues existantes dans BNF avec TinyPG?
- 9. LinkedList (T) add-method
- 10. Comment appeler des classes dynamiquement sans utiliser eval?
- 11. LinkedList "node jump"
- 12. Isoler les méthodes Ruby de l'écrasement dans les sous-classes? (Comme des méthodes privées de Java)
- 13. Comment utiliser les classes JEDI TJCLHashMap?
- 14. Définition de classes dans les fichiers Java
- 15. Pourquoi Qt inclut-il des définitions de classes vides de classes existantes dans les fichiers d'en-tête?
- 16. Utiliser les sons en java
- 17. Est-ce que Python a quelque chose comme les classes internes anonymes de Java?
- 18. Comment libérer de la mémoire à partir de std :: deque?
- 19. Classe Java dont les champs ne sont accessibles qu'à ses sous-classes (sans getters/setters)?
- 20. Déployer le service Web Java sans utiliser de serveur Web
- 21. Java AOT + chargement dynamique des classes java
- 22. développer un bot pour utiliser comme contact gtalk avec java
- 23. Développement J2ME sans Java?
- 24. Classes d'arbres Java
- 25. Castings entre les classes congruentes sans rapport avec
- 26. Java Convertir ColorSpace de BufferedImage à CS_GRAY sans utiliser ConvertColorOp
- 27. Java: traiter correctement les tubes comme stdin
- 28. Diagramme de classes pour une application PHP sans classes
- 29. Pourquoi utiliser IDictionary pour les classes enfants pour NHibernate?
- 30. utiliser vue seulement comme modèle
Pourquoi faites-vous cela? Quel est le problème avec l'utilisation de l'une des implémentations standard de Deque? –