求问:Java语言中,定长数组和HashMap在访问一个元素时,哪个效率高?

求问:Java语言中,数组和HashMap在访问一个元素时,哪个效率高?遍历所有的元素的效率呢?
例如:

 int[] array = {1, 3, 5};
HashMap map;
map.put(0, 1);
map.put(1, 3);
map.put(2, 5);

// 哪个代码的效率高?
System.out.println(map.get(2));  // Hash Map
System.out.println(array[2]);       // Array

array效率高,直接寻址,遍历访问都高。
hash在查找的时候效率高。