Hi Levi!
Well as far as I think, I would divide API into two parts (this is what I fell and others may disagree).
Collections
Other APIs (IO, Parsing and Formatting & wrappers)
I think you don't need to memorize the collections API. You must just be clear about what are the benefits of each type of collections. Apart from that, you must know the methods of each collection. There are a few gotchas here as I feel.
-LinkedList supports both List and queue related methods
-subSet(startInclusive, endExclusive)
-in the same manner headSet(endExclusive) and tailSet(startInclusive).
-(there are a few more of them but I don't remember them so I will update it when I have my K&B book with me)
You don't need to memorize them though. What you need is just a bit practice.
Now coming to IO. I think that is a pretty straight forward thing. You just need to know File class, Writer classes and Reader classes. I didn't had any trouble with this part (including serialization). Just remember a few gotchas
-BufferedWriter and BufferedReader can only be created using a Writer and Reader only.
-Since you are going for the 5.0 exam, so PrintWriter is also only instantiated using a Writer (I may be wrong here).
-FileReader and FileWriter work on char[] and int.
-renameTo method in File class takes a File object as parameter.
Serialization is simple. Just read K&B and you will be all clear.
In the wrapper classes, I don't think there is much to worry. I found these gotchas in them
-Float constructor can take a double
-Character constructor cannot take a String
-Double and Float cannot take a Radix parameter while parsing a String.
-toString can take a Radix only in Integer and Long.
I don't know whether the exam can go into such details, but I found these pitfalls hard to spot.
String, StringBuffer and StringBuilder also have a few pitfalls. StringBuffer and StringBuilder are the same so I will only mention StringBuffer here
-StringBuffer doesn't override equals method.
-StringBuffer's substring method returns a new String object.
-String's replace method takes two char parameters.
In formatting, I feel there are these pitfalls
-DateFormat.getInstance cannot take any parameter. You will have to use DateFormat.getDateInstance for that
-NumberFormat.getInstance and NumberFormat.getNumberInstance are the same i.e. both can be used interchangeably.
-You cannot change the locale of NumberFormat or DateFormat after you create their instance (this is clearly stated in K&B)
I may have overlooked a few things as I don't have my book with me where I have pointed out every pitfall. I will update this post next time

...