問題タブ [arraydeque]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1443 参照

java - ArrayDeque は配列として実装されていますが、なぜランダム アクセスではないのですか?

単純なリストを追加および削除する場合、 ArrayDequeが高速であることはわかっています。私はそれをテストしました、LinkedListよりも追加と削除が高速でした。配列として実装されていることはわかっているので、なぜランダムアクセスではないのでしょうか?

Java src の ArrayDeque.java ファイルを読みました。でも私の英語力ではよくわかりません。Google や Stack Overflow から多くの記事を見てきましたが、必要な回答が得られませんでした。

結論として、私が探しているのは次のとおりです。

  1. ArrayDeque がランダム アクセスでないのはなぜですか? (私が一番興味があります)
  2. ArrayDeque はどのような状況で使用されますか?
  3. ArrayDeque は配列として実装されていませんか? (私はこれを誤解しましたか?)

ご返事ありがとうございます!

0 投票する
1 に答える
210 参照

java - ArrayDeque<>(int capacity) - Scanner.nextInt() == 4 と (int) 4 の違いは何ですか?

タスクは、数値を読み取って両端キューに格納するプログラムを作成することです。

サンプル入力: 4 1 2 3 4 サンプル出力: 4 2 1 3

偶数は最初の要素として、奇数は最後の要素として追加する必要があります。その後、プログラムは最初から最後まですべての要素を出力する必要があります。

これが私のコードです:

サンプル出力: 4 2 1 3

それは正常に動作します、それは正しいです。しかし!

書き直しましょう

なので

この場合、出力例は次のとおりです。 4 2 4 1 3 。つまり、それは正しくありません。

同じ容量を異なる方法で入力すると、なぜこのように異なる結果が得られるのでしょうか?