We're a little biased around these parts as both books I recommend link back here
. I have read both books I recommend though (and helped review one). They really are awesome!
SCJP Certified Programmer - covers the actual topics you need to learn in detail including tricks you are likely to encounter
OCP practice exams - more questions than the first book, but not topic review. Intended to supplement the first book