GOF examples are largely in C++ with some Smalltalk thrown in for good measure. doesn't render it useless, though, the whole point of design patterns is that they're design patterns, not reusable snippets of code. the language is largely irrelevant
head first design patterns is ok, but to my mind oversimplifies things in places
try,
http://www.amazon.com/Patterns-Java-Catalog-Reusable-Illustrated/dp/0471227293/sr=8-1/qid=1161003684/ref=sr_1_1/102-3268659-3152113?ie=UTF8&s=books
http://www.amazon.com/Holub-Patterns-Learning-Design-Looking/dp/159059388X/sr=8-1/qid=1161003725/ref=sr_1_1/102-3268659-3152113?ie=UTF8&s=books