Cet article présente la méthode d'utilisation de java.util.arraydeque pour votre référence. Le contenu spécifique est le suivant
1. Arraydeque a deux attributs de classe, la tête et la queue, et deux pointeurs.
2. ArrayDeque utilise un tableau en tant que transporteur, et les éléments du tableau ne se déplacent pas lors de l'exécution de méthodes telles que ADD. Les seuls changements sont les pointeurs de tête et de queue, et les pointeurs sont des changements de boucle, et la capacité de tableau n'est pas limitée.
3. La méthode de l'offre et la méthode ADD sont toutes deux implémentées via la méthode AddLast. Chaque fois qu'un élément est ajouté, l'élément est ajouté à la queue du tableau. Pour le moment, le pointeur de tête ne change pas et le pointeur de queue en est ajouté. Étant donné que le pointeur est ajouté en boucle, lorsque la queue rattrape la tête ((this.tail = this.tail + 1 & this.elements.length - 1) == this.head), la capacité du tableau double et continue d'être exécutée.
4. La méthode de suppression et la méthode de sondage sont toutes deux mises en œuvre via la méthode PollFirst. Chaque fois qu'un élément est supprimé, la position de l'élément devient nulle. Pour le moment, le pointeur de queue ne change pas et le pointeur de tête en est ajouté un. Lorsqu'il n'y a pas de données dans le tableau, null est renvoyé.
5. Parce que ArrayDeque n'est pas un thread-safe, il est plus rapide que la pile lorsqu'il est utilisé comme pile et plus rapide que Linkedlist lorsqu'il est utilisé comme file d'attente.
package com.what21.collect11; import java.util.arraydequ; import java.util.deque; classe publique ArrayDeQuedeMo {/ ** * @param args * / public static void main (String [] args) {deque <objet> data = new ArrayDeque <objet> (); // Ajouter un élément pour (int i = 0; i <20; i ++) {data.push ("www.what21.com." + I + ""); } // Supprimer les premières données.RemoveFirst (); // Obtenez le premier System.out.println (data.PeekFirst ()); // ajouter à la dernière données.addlast ("www.what21.com .9999"); // System.out.println (données); // Traversal pour (objet o: data) {System.out.println (o); }}}Ce qui précède concerne cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde.