この記事では、参照のためにjava.util.arraydequeの使用方法を紹介します。特定のコンテンツは次のとおりです
1。ArrayDequeには、ヘッドとテールの2つのクラス属性と2つのポインターがあります。
2。ArrayDequeはキャリアとして配列を使用し、ADDなどのメソッドを実行するときに配列要素は移動しません。唯一の変更はヘッドとテールポインターであり、ポインターはループの変更であり、配列容量は制限されません。
3.オファーメソッドとADDメソッドはどちらもAddLastメソッドを使用して実装されます。要素が追加されるたびに、要素が配列のテールに追加されます。現時点では、ヘッドポインターは変更されず、テールポインターが追加されます。ポインターがループが追加されているため、テールがヘッドで追いつくと((this.tail = this.tail + 1&this.elements.length -1)== this.head)、アレイ容量が2倍になり、実行され続けます。
4.削除方法とポーリング方法は、両方ともPollfirstメソッドを通じて実装されます。要素が削除されるたびに、要素の位置がnullになります。現時点では、テールポインターは変更されず、ヘッドポインターが追加されます。配列にデータがない場合、nullが返されます。
5. ArrayDequeはスレッドセーフではないため、スタックとして使用する場合はスタックよりも高速で、キューとして使用する場合はLinkedListよりも高速です。
パッケージcom.what21.collect11; Import Java.util.arraydequ; import java.util.deque; public class arraydequedemo { / ** * @param args * / public static void main(string [] args){deque <object> data = new arraydeque <object>(); //(int i = 0; i <20; i ++){data.push( "www.what21.com。" + i + ""); } //最初のdata.removeFirst()を削除します。 //最初のsystem.out.println(data.peekfirst())を取得します。 // last data.addlast( "www.what21.com .9999")に追加します。 // system.out.println(data); //(Object O:data){system.out.println(o); }}}上記はこの記事に関するものです。すべての人の学習に役立つことを願っています。