Although it doesn't contain java examples, one of the best resources is Design Patterns by the gang of four.
But when you say "for each of the design patterns" do you realise that design patterns are just generic solutions for common problems and thus not a limited set?
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." --- Martin Fowler
Please correct my English.