У меня работает.
Программа
class Test
{
public static void main(String ... args)
{
final Integer somenumber = 2;
final Integer[] aray = {5, 4, 3, 2, 1, 0, -1, -2, 42,};
final java.util.HashMap<Integer, Integer> hashmap = new java.util.HashMap<Integer, Integer>();
for(Integer i=0;i<aray.length;i++) {
if(aray[i]!=0) {
//non zero array values get divided by some random number not too big number.
aray[i]=aray[i]/somenumber;
hashmap.put(i,aray[i]);
System.out.println(hashmap.get(i));
//if I display aray[i] its a non zero number but hashmap.get(i) is returning null values.
}
}
}
}
выход
user@host:/tmp$ javac -version
javac 1.6.0_20
user@host:/tmp$ javac Test.java
user@host:/tmp$ java Test
2
2
1
1
0
0
-1
21
Никаких нулевых значений нигде, как и ожидалось. Я не вижу, чтобы карта возвращала нули, поскольку вы только что добавили значение.