I want to learn java EE..
Learning basics now like Collection, io, inheritence, threading.. But I am tired of just learning about these features, I don't feel like I learned something good and it is demotivating..
How can I implement these things, is there any resource where I can get programs for implementating these topics? Or any other way for applying their implementation?
What you are asking for is a very broad topic. Much like mathematics, writing, art, the only way to learn and get better is to do by doing. Any google search for something like "java programming projects" should return enough to keep you busy for a long time to come. You might also look at the Cattle Drive here at Code Ranch, and work through the projects. They start off simply enough and get progressively more complex.
There are worse crimes than burning books. One of them is not reading them. Ray Bradbury
Download the JDK and NetBeans. Then I can send you copies of the books I got from my university.
Anyways, in the beginning you will make silly programs that don't seem to be of any practical use, but you have to keep in mind
that the goal is to teach you the basic stuff and how it works. Later on in your programming career when you are making a more
serious program, you will know which of the things you learned you need to solve a particular problem.
For example I never understood enum and what would I use it for until I got to make a file manager and when I asked myself
how should I let my program know which commands the user might input (delete, create new folder, copy etc), the obvious
solution that came to my mind is to use enum and a switch\case. So do not feel demotivated. Just keep learning and everything
will start making sense eventually.