Joda Time is actually a great example of a library letting you work in terms of values instead of the mutable object disaster that is java.util.Date; it just happens to be implemented in Java itself.
If you can imagine the same benefits of working with stable values applied across the board to all your built-in data structures, that might help.
Operating directly on Java classes is pretty standard. Of course you have to be very careful when working with classes which allow mutability, (true in all languages, really) but with Joda that's not an issue.
The only thing you miss out on is that Java methods can't be used as higher-order functions.
My Indonesian is pretty rusty; I should probably update it to say that I understand it rather than speak it. =)
If you can imagine the same benefits of working with stable values applied across the board to all your built-in data structures, that might help.