add Observer Pattern
add Memento Pattern
add Flyweight pattern
Update ListQueue.java

synchronizedとかprivateとかは本質じゃないので置いておくとして
好み次第なので「こうすべし！」と言うつもりはないのだけど、３点だけ。

1.
Javaのコレクションである以上、isEmpty()はほしいと思うので、
Queue<E>に追加したうえでOverrideしたい。
size() == 0とするかどうかは悩みどころ。
このクラス内では「リストが空になった」をhead == nullで判定していたようなので、
今回はそちらに。

2.
dequeueメソッド内のtmpは、命名としてアレな気がするので戻り値を表すretに。

3.
dequeueメソッドのif分岐が少々冗長に感じられたので、共通部分の記述は１回にまとめる。
Merge pull request #1 from Kazuya-Morikawa/patch-1

Update ListQueue.java
Update ListQueue.java

コードフォーマットを統一
Update Queue.java