When I was giving you the ExpoGraphics link, I remember I told you about their online ordering system as well.
The main point is there isn't anything call THE BEST. There are many which address several target groups. For example, Java beginners books isn't good for expert reference, etc... So what you need to find is a popular beginners book.
If you believe me or not, there isn't anybody in this world who became an expert overnight. All the experts you have heard such as Bill Gates, Steve Jobs, Bjarne Stroustrup, Linus Torvalds, etc... had started their programming career with a "Hello World" application. So don't even try to become one overnight which will not take you to the place you want. You need to walk step by step without missing concepts. Another point is 'be a child' when you learn. If you think you know a lot, you will never learn. There can be things you know in the book. But just don't skip. Read again to see that what you know is correct. I know who you are and that's why I have given you a little idea
Here I'm going to recommend you a book now. I guess both Herath and Enigma will recommend some books as well. But you SHOULD select ONLY ONE out of them (you can discuss what you select with us and come to an agreement) and start reading each letter, word from top to bottom. Otherwise this is never going to work. At the moment you are trying to take some from here and some from there, this will never work with any science subject. How many Java books the guys here have recommended you so far? I remember I myself recommended many. But you keep on looking for books but seems never read any. So you need to come to an agreement with ROBOT.LK that you only refer one book at a time and without giving proper reasons you are not going to switch. Nipuna, listen, switching books will never help you to become a developer. And in the other hand it is simply a waste of time for us. Okay, I guess you agree.
Java: A Beginner’s Guide - Since this is beginners book, I highly recommend you to read this from top to bottom (every letter every word)
Object-Oriented Programming and Java - This is another candidate to the section list
Let's take ideas from Herath and Enigma. Those guys are studying Java at the moment so they must be knowing some good books given as references from universities.