Hi Mohamed,
The short answer is that Hadoop is useful for working with data volumes larger than what you can store on a single machine. Hadoop is written almost entirely in Java, and MapReduce, which is Hadoop's computational tier, is a programming framework that lets you express your work in Java.
If you read chapter 1 of my book (which you can download for free from
http://www.manning.com/holmes/)
you should hopefully get a better idea of what Hadoop is, and how it can be used.
Thanks,
Alex