This is a very good book. It's very short but it contains what is required. Nicely written and the code is all there too so you can see what the code is actually doing and equate that to the explanation of the functions.
Beware though, the subject is hard. I was astonished at just how much goes into even only 2 dimensional collision detection. If you are expecting 2D collision detection to be easy then beware, because it just isn't. The math involved is quite intense and some of the concepts are hard to absorb so you will be re-reading this a lot before you understand it properly.
Nevertheless the book is very exhaustive on each and every type of collision possible in 2D. Also please note so far I have not seen anything in this book that teaches you how to resolve a collision, it only shows how to detect one. For that you need a 2D physics book.
If you want to make a game say an RPG game that is better than simply using tiles to move on and allows for complex shape collision this is a very good book and will set you up very nicely for the bit that comes next which is resolving collisions (I am assuming this book doesn't cover that as I haven't seen it so far).
I'm really glad I bought it, I would never, ever have thought of this stuff for myself :)