工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java Dequeインターフェース完全マスター:特徴、メソッド、実践例

Java Dequeインターフェース

JavaのDequeインターフェースがいかに多機能な両端キューを提供し、その強力なメソッドを実コードで活用するかを解説します。


Dequeの仕組み

従来のキューが後ろにエンキューし前からデキューするだけなのに対し、Deque(両端キュー)では両端から要素の追加と削除が可能です。この柔軟性により、LIFO、FIFO、より複雑なデータ処理パターンに対応できます。

Java Dequeインターフェース完全マスター:特徴、メソッド、実践例


Dequeを実装するクラス

Dequeを扱うには、以下の具体的な実装から選択します:

Java Dequeインターフェース完全マスター:特徴、メソッド、実践例


コードでのDequeの使用

まずインターフェースをインポートします:

import java.util.Deque;

次に具体的なクラスをインスタンス化します:

// 配列実装
Deque<String> animal1 = new ArrayDeque<>();
// LinkedList実装
Deque<String> animal2 = new LinkedList<>();

これらのオブジェクトはすべてのDeque操作を公開します。


Dequeの主要メソッド

DequeはQueueを拡張するため、すべてのキュー メソッドを継承します。さらに、両端用の特殊操作を提供します:


Dequeとしてのスタック利用

レガシーのStackクラスは同期化されており効率が劣ります。Dequeはモダンで非同期の代替手段を提供します:


ArrayDequeによる実践例

import java.util.Deque;
import java.util.ArrayDeque;
class Main {
    public static void main(String[] args) {
        Deque<Integer> numbers = new ArrayDeque<>();
        // デックに要素を追加
        numbers.offer(1);      // 末尾
        numbers.offerLast(2);  // 末尾
        numbers.offerFirst(3); // 先頭
        System.out.println("Deque: " + numbers);
        // 両端を覗く
        System.out.println("最初の要素: " + numbers.peekFirst());
        System.out.println("最後の要素: " + numbers.peekLast());
        // 要素を削除
        System.out.println("削除された最初の要素: " + numbers.pollFirst());
        System.out.println("削除された最後の要素: " + numbers.pollLast());
        System.out.println("更新後のDeque: " + numbers);
    }
}

出力

Deque: [3, 1, 2]
最初の要素: 3
最後の要素: 2
削除された最初の要素: 3
削除された最後の要素: 2
更新後のDeque: [1]

詳細については公式Java ArrayDequeドキュメントを参照してください。

Java

  1. C#インターフェイスをマスターする:定義、実装、実践的なユースケース
  2. C#のインターフェース:堅牢なオブジェクト指向設計のための契約定義
  3. Java演算子をマスター:種類、構文、実践例
  4. Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
  5. Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
  6. Javaアノテーション完全ガイド:種類、配置場所、実践例
  7. Java NavigableSetインターフェースをマスター:ナビゲーション、ソート、実践例
  8. Javaラムダ式完全ガイド:基礎からStream APIまで
  9. Java インターフェース vs 抽象クラス:適切な抽象化の選び方
  10. Javaインターフェース完全ガイド: 定義・実装・多重継承・タグインターフェース
  11. Java 9プライベートインターフェースメソッド:カプセル化とコード再利用を強化