There is ofcourse not one data structure that is better than the other one for all purposes. It depends on what you are doing. If you want the data to be sorted on keys, use TreeMap. Otherwise use HashMap.
HashMap is faster than TreeMap for get and put operations. From the JavaDoc of HashMap:
"This implementation provides constant-time performance for the basic operations (get and put), assuming the hash function disperses the elements properly among the buckets."
From the JavaDoc of TreeMap:
"This implementation provides guaranteed log(n) time cost for the containsKey, get, put and remove operations."