Coding challenges to quiz my knowledge as i learn.

I am currently working on learning java through the eclipse ide and I was wondering if there is a list of challenges that get progressively harder? Also if anyone has any recommendations on things like UI, file input to use things like audio or images or 3d models and what not, input and output into a UI it would be greatly appreciated those are some things I truly struggle to understand at the moment.