Dequeまとめ
宣言 | メソッド名 | 引数の型 | 戻り値の型 | 要素が空の場合の戻り値の型 |
---|---|---|---|---|
Deque |
add(E e) |
E |
boolean |
- |
Queue |
offer(E e) |
E |
boolean |
false |
Deque |
addFirst(E e) |
E |
void |
- |
Deque |
offerFirst(E e) |
E |
boolean |
false |
Deque |
push(E e) |
E |
void |
- |
Deque |
remove() |
- | E |
NoSuchElementException |
Queue |
poll() |
- | E |
null |
Deque |
pop() |
- | E |
NoSuchElementException |
Deque |
pollFirst() |
- | E |
null |
Deque |
pollLast() |
- | E |
null |
Queue |
element() |
- | E |
NoSuchElementException |
Queue |
peek() |
- | E |
null |
Deque |
peekFirst() |
- | E |
null |
Deque |
peekLast() |
- | E |
null |
1. add(E e)
- 宣言: Dequeインターフェース
-
戻り値の型:
boolean
-
理由: メソッド名が「add」であり、通常、要素を追加することが期待されます。Dequeは容量制限のないデータ構造なので、通常は要素を追加できる前提です。もし容量制限があったり、その他の制約がある場合には、追加が成功したかどうかを
boolean
で知らせる必要があります。つまり、必ずしも成功するとは限らないため、戻り値がboolean
になります。
2. offer(E e)
- 宣言: Queueインターフェース
-
戻り値の型:
boolean
-
理由:
offer
は「提供する」ことを意味し、要素を追加しようとする動作に対応します。Queueは制約がある可能性があり、その場合、要素の追加が失敗することがあります。そのため、戻り値がboolean
で、成功すればtrue
、失敗すればfalse
を返すようになっています。これは特に容量制限があるキューで役立ちます。
3. remove()
- 宣言: Dequeインターフェース
-
戻り値の型:
E
-
理由:
remove
は「取り除く」を意味し、存在する要素を削除し、その削除された要素を返すことが期待されます。Dequeは両端の操作が可能なデータ構造で、remove
が成功すればその要素を返すため、戻り値は要素の型E
になります。ただし、もしDequeが空の場合、削除する要素がないため、例外をスローするようになっています。
4. poll()
- 宣言: Queueインターフェース
-
戻り値の型:
E
-
理由:
poll
は「点呼する」「確認する」を意味し、要素が存在する場合にそれを取得して削除しますが、Dequeが空の場合はnullを返します。これはQueueが空でもエラーを避けるための安全策で、null
を返すことで呼び出し元にその状態を知らせることができます。
5. element()
- 宣言: Queueインターフェース
-
戻り値の型:
E
-
理由:
element
は現在の先頭要素を取得するメソッドですが、要素を削除しません。Dequeが空である場合、取得する要素がないため、NoSuchElementException
をスローします。Dequeが空でない場合は先頭要素を返すので、戻り値の型は要素の型であるE
です。
6. peek()
- 宣言: Queueインターフェース
-
戻り値の型:
E
-
理由:
peek
は「覗き見る」という意味で、先頭の要素を取り除かずに取得する操作です。Dequeが空である場合、取得する要素がないのでnull
を返します。これはpoll
メソッドと同じように、Dequeが空の場合でもエラーを避けるために用意された安全策です。
7. push(E e)
- 宣言: Dequeインターフェース
-
戻り値の型:
void
-
理由:
push
は「押し出す」を意味し、スタック操作の一種です。要素をDequeの先頭に追加しますが、この操作が成功するかどうかはvoid
型の戻り値に示されません。Dequeは通常、容量制限がないため、常に成功することが期待され、成功確認が不要です。
8. pop()
- 宣言: Dequeインターフェース
-
戻り値の型:
E
-
理由:
pop
は「取り出す」を意味し、スタック操作の一種です。Dequeの先頭から要素を取り出し、その要素を返します。Dequeが空の場合には削除する要素がないため、NoSuchElementException
をスローします。取り出す要素が存在する場合、その要素の型が戻り値の型E
になります。
9. peekFirst()
- 宣言: Dequeインターフェース
-
戻り値の型:
E
-
理由:
peekFirst
はDequeの先頭要素を削除せずに取得するメソッドで、Dequeが空の場合はnull
を返します。これはpeek
メソッドと同様、空のDequeから要素を安全に取得するための方法です。
10. peekLast()
- 宣言: Dequeインターフェース
-
戻り値の型:
E
-
理由:
peekLast
はDequeの末尾要素を削除せずに取得するメソッドで、Dequeが空の場合はnull
を返します。これはpeek
メソッドと同様、空のDequeから要素を安全に取得するための方法です。
11. pollFirst()
- 宣言: Dequeインターフェース
-
戻り値の型:
E
-
理由:
pollFirst
はDequeの先頭要素を取得して削除するメソッドで、Dequeが空の場合はnull
を返します。poll
メソッドと同様に、Dequeが空の場合でもエラーを避けるためにnull
が返されるよう設計されています。
12. pollLast()
- 宣言: Dequeインターフェース
-
戻り値の型:
E
-
理由:
pollLast
はDequeの末尾要素を取得して削除するメソッドで、Dequeが空の場合はnull
を返します。これはpollFirst
メソッドと同様に、Dequeが空の場合でもエラーを避けるためにnull
が返されるよう設計されています。
13. addFirst(E e)
- 宣言: Dequeインターフェース
-
戻り値の型:
void
-
理由:
addFirst
はDequeの先頭に要素を追加するメソッドで、通常Dequeは容量制限がないため、追加操作は必ず成功します。そのため、追加の成否を知らせる戻り値は不要であり、void
型になります。
14. offerFirst(E e)
- 宣言: Dequeインターフェース
-
戻り値の型:
boolean
-
理由:
offerFirst
はDequeの先頭に要素を追加するメソッドで、容量制限がある場合、追加が成功するかどうかを示すためにboolean
が返されます。成功すればtrue
、失敗すればfalse
が返されます。