Howdy -- I just wanted to add that we usually recommend using the non-wild-card import for readability (but not performance, as the other posters pointed out). With the wild-card import:
import java.util.*;
you just cannot tell from looking at the top of the source code *exactly* which classes are being used.
The other reason to use the non-wild-card import is when there is a naming conflict. For example, both java.util and java.awt have a class called List. If you import both the util and awt packages using the wildcard import, then when you say List list = new List(), the compiler panics, becomes distressed, and complains that it has no clue WHICH List class you're talking about. So in that case, you could use the explicit class-by-class imports. Now, that STILL doesn't solve the problem if you really do want to use *both* List classes in your code. In that case, you'd still have to use the fully-qualified name everywhere you use that Class in your code.
Cheers,
Kathy
"Toss me. But don't tell the elf."
-Gimli the dwarf