Back in my days, when animals where still talking and playing games on their atari's, creating unneeded Network Traffic was a BAD BAD thing.
Getting more data than you needed was simply not done. The only reason I can see getting all the data and manipulate it in Java to get distinct values is when you will need the other data too, a bit later. So in order to cach it.
Note : that's not the same as saying do everything on the server, doing manipulation on data in an environment with more support for datamanipulation can be a good thing. Just don't ask for more data than you will need (caching as a notable exception)