Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職

ArrayDeque

キュー/スタック構造 – ArrayDequeクラス

ArrayDequeは両端キューとも呼ばれ、先頭末尾の双方から要素を出し入れできるキューの実装です。ArrayDequeを利用することで、キュー(FIFO:First In First Out)やスタック(LIFO:Last In First Out)といったデータ構造を表現できます。
ArrayDequeクラスで利用できる主なメソッドには、以下のようなものがあります。

ArrayDequeクラスの主なメソッド
種類 先頭 末尾 概要
挿入 addFirst(e) addLast(e) 先頭/末尾に要素を追加
削除 removeFirst() removeLast() 先頭/末尾から要素を取り出し
検査 getFirst() getLast() 先頭/末尾の要素を取得

削除メソッドでは要素を取得すると共に削除するのに対して、検査メソッドでは要素を取得するのみでキューから削除しません。
以下は、ArrayDequeでキュー/スタックを実装する例です。キューは末尾から要素を追加し、先頭から要素を取り出すことで、スタックは、末尾から要素を追加し、末尾から要素を取り出すことで、それぞれ表現できます。

CollQueue.java

package com.example.mynavi.collection;

import java.util.ArrayDeque;
import java.util.Deque;

public class CollQueue {
  public static void main(String[] args) {
    // キュー構造
    Deque<String> q = new ArrayDeque<String>();
    q.addLast("AAAAA");
    q.addLast("BBBBB");
    q.addLast("CCCCC");
    System.out.println(q);	// 結果:[AAAAA, BBBBB, CCCCC]
    System.out.println(q.removeFirst());	// 結果:AAAAA
    System.out.println(q);	// 結果:[BBBBB, CCCCC]

      // スタック構造
    Deque<String> s = new ArrayDeque<String>();
    s.addLast("AAAAA");
    s.addLast("BBBBB");
    s.addLast("CCCCC");
    System.out.println(s);	// 結果:[AAAAA, BBBBB, CCCCC]
    System.out.println(s.removeLast());	// 結果:CCCCC
    System.out.println(s);	// 結果:[AAAAA, BBBBB]
  }
}
コレクションフレームワーク
コレクションフレームワーク
コレクションを初期化する
synchronizedList/synchronizedMap/synchronizedSetメソッド
ArrayListクラス
asListメソッド
toArrayメソッド
LinkedList
HashMap
TreeMap
NavigableMap
HashSet
ArrayDeque

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職