Packages are not assumed because Java's philosophy is that it's better to be explicit than implicit/assumed.
It does give you the ability to access anything in your current package, but anything outside needs to be explicitly imported. (I believe Java.lang is the exception because that contains so much base functionality such as String that there wouldn't be a single package that wouldn't use it).
This is also why you tend to see:
import java.util.ArrayList;
import java.util.LinkedList;
instead of:
import java.util.*;
This can seem annoying until the one day you are trying to figure out someone elses code and it hits you how much harder this would be if things were hidden/implied.
If you use Eclipse, Netbeans or IntelliJ, you'll never even notice because of two features.
First of all, if you hit ctrl-space in the middle of typing a class name it will not only complete the class name for you, but it will also automatically add it to the imports list.
Secondly if you ever get to where imports are "Wrong" or you don't use ctrl-space expansion, you can just type ctrl-shift-o (eclipse) to have it "Fix imports". This will automatically import things that need importing and remove imports you no longer need. Depending on your settings it will also expand or collapse *'s.
Once you get a system down you never even consider imports.