Sur cette page : http://java.developpez.com/livres/
Tu as énormément de livres, ainsi que les critiques.
Sinon, je te conseils très fortement de prendre un livre parlant de Java 6, 7 ou 8. Absolument pas des versions antérieures.
Il existe encore certaines applications dans les versions antérieures, mais vu que le support professionnel de Java 4 s'arrête très bientôt et que celui de Java 5 suivra dans 4 ans (de mémoire), autant apprendre avec de "bonnes bases" (bon, ici, c'est totalement discutable vu le point de vu).