Personally, I think the Head First books are great.
"Head First Java" is a good book for quickly learning Java - suitable for complete beginners and experienced programmers switching to java from other languages.
And once you've got your head around that, you could round things off by tackling "Head First Design Patterns", which covers the use of design patterns in Java.
Also - I'm not trying to spam, or advertise here, but I noticed the other day that the humblebundle.com website currently has a bundle of "Head First" e-books available for $15.00 USD - which includes "Head first Java" and "Head First Design Patterns" alongside 13 other "Head First" books.
I've been buying ebook bundles from the humblebundle site for a couple of years now and have built up a fairly huge library for next to nothing. I spotted this offer the other day and I'm only mentioning it here because it is relevant to this thread!
So if the OP, or anybody else here is interested in some cheap e-books - the link is below:
https://www.humblebundle.com/books/head-first-books