The other answers about cost are correct, but just to clarify why that's important (This would be a better comment but it's going to be too long.)
Java is, believe it or not, a very low-level language as far as CPU goes. It does hog up a bit of memory, but if you use it correctly it can perform very close to C (typically 1/2 the speed, sometimes nearly 1:1 depending on the task). This is as opposed to languages like Python which is quite quick at 1/10 the speed of C and Ruby which is not that qhick (1/50-1/100 the speed of C)
In terms of ease of use though, Java can be used as a very high-level language, implementing huge web solutions in Java alone.
For most of the high-level solutions your observation is quite accurate--the LinkedHashMap would have virtually no impact over a HashMap, but for low-level, fast running apps (On a small scale think MineCraft real-time graphics--or on a large scale consider a distributed web cluster at Google). In these cases you can program as though you were writing in C. You eliminate memory allocations and write very close to the metal to get every bit of speed.
Java tries very hard to always allow the "Fast" solution, that's one of the biggest differences betwen Java and many of the later generation languages--Every little bit of java is optimized (or at least optimizable) wherever possible.
As a concrete example--twitter was originally implemented in Ruby on Rails. When it comes down to it, the lanuge just couldn't be made fast enough (Although it was probably the reason for Twitters successs--being easier to get it up and running in the first place!!). When they replaced ROR with Java they were able to eliminate 9/10 of their servers and have better throughput.