2017-01-11 20 views
-2

ArrayDequeには、スタックとキューのメソッドがあります。主に使用するスタックとキュー方法は下記の中のものです:ArrayDequeでpush()、offer()、add()メソッドを同時に使用するとどうなりますか?

Stack方法:push/poll/peek

Queue方法:push/poll/peek

私がやった事コードブロックの下には、同じオブジェクトに両方のオファー、プッシュ、および追加のメソッドが使用されている場合、ArrayDequeの動作を理解しようとしました。私が書いたコードとその出力を以下に示します。 push()メソッドを呼び出した後のArrayDequeの動作は何ですか?スタックとして自身を引き継ぎ、次にoffer()メソッドを呼び出します。これはキューメソッドと呼ばれます。

Deque<Integer> arrayDeque = new ArrayDeque<>(); 

arrayDeque.add(3); 
arrayDeque.push(4); 
arrayDeque.offer(6); 
arrayDeque.addFirst(2); 
arrayDeque.addLast(5); 
arrayDeque.addFirst(1); 
System.out.println("ArrayDeque: " + arrayDeque.toString()); 

出力は次のとおり

ArrayDeque: [1, 2, 4, 3, 6, 5] 
+0

ここでは何が奇妙ですか? –

+0

javadocを読んでください。これらの方法のすべてがそこではっきりと説明されています。 –

答えて

0

それがステップ

// Add 3 at the tail of this deque 
arrayDeque.add(3); -> [3] 
// Add 4 at the head of this deque 
arrayDeque.push(4); -> [4, 3] 
// Add 6 at the tail of this deque 
arrayDeque.offer(6); -> [4, 3, 6] 
// Add 2 at the head of this deque 
arrayDeque.addFirst(2); -> [2, 4, 3, 6] 
// Add 5 at the tail of this deque 
arrayDeque.addLast(5); -> [2, 4, 3, 6, 5] 
// Add 1 at the head of this deque 
arrayDeque.addFirst(1); -> [1, 2, 4, 3, 6, 5] 

バイステップがQueueまたはStackとは異なりDequeの主な目的は、/への要素を追加/アクセスする能力を有することがあることに留意してくださいないものです両方ともが終了します(頭と尾)。

+0

基本的にはhttps://docs.oracle.com/javase/7/docs/api/java/util/ArrayDeque.html –

0

1.offer、この方法は、この両端キューの末尾に指定された要素を挿入します。 2.add - このメソッドは、この両端キューの最後に指定された要素を挿入します。 3.push-この両端キューが表すスタックに要素をプッシュします。 4.addFirst-このメソッドは、指定された要素をこの両端キューの前面に挿入します。 5.addLast - このメソッドは、この両端キューの最後に指定された要素を挿入します。ここで

0

あなたは何を理解していますか?

あなたはjavadocのキュー方法として記載されているプラ​​ン()メソッドを呼び出し、それがスタックとしての地位を想定して()メソッド、プッシュを呼び出し、そして後ArrayDequeの動作を説明してもらえ

のJavadocを見てみましょう:最初と最後のoffer挿入でhttps://docs.oracle.com/javase/7/docs/api/java/util/ArrayDeque.html

push方法インサートを。

関連する問題