Возвращенные значения hashmap равны нулю - PullRequest
0 голосов
/ 29 сентября 2011

Я ограничиваю себя только той частью вопроса, где я ошибаюсь. У меня есть массив двойных значений; Я помещаю все значения массива, которые не равны нулю, в хэш-карту, но когда я пытаюсь отобразить значения в моей хэш-карте, я получаю нулевые значения. Нужна помощь. Мне не удалось выяснить, связано ли это с коллекциями Java.

Карта создается вне цикла for.

for(int 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.  
    }
}

1 Ответ

0 голосов
/ 02 октября 2011

У меня работает.

Программа

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

Никаких нулевых значений нигде, как и ожидалось. Я не вижу, чтобы карта возвращала нули, поскольку вы только что добавили значение.

...