A HashMap is basically an array of LinkedLists. There is no binary tree, maybe you’re confused with TreeMap.
O(1)
The duration of searching a node in a tree, increases with the depth of the tree, therefore you can’t have binary trees, or binary searches in general, with constant time performance. Trees generally have O(log n) performance characteristics.
As of the latest JDK 8 snapshot, HashMaps now have a “bin of TreeNodes” fallback. It’s used when the hash codes are poorly distributed and you end up with too many nodes in a bin.