У меня есть HashMap of ArrayLists для значений, но HashMap остается пустым, когда я добавляю ArrayLists, а затем бросает исключение NullPointerException, когда пытаюсь получить() ArrayList. Очень смущенный.HashMap of ArrayList, вызывающий nullpointerexception
Random rand = new Random();
HashMap<String,ArrayList<Integer>> hands = new HashMap<String,ArrayList<Integer>>();
HashMap<Integer, Boolean> deck = new HashMap<Integer, Boolean>();
for(int x=0;x<4;x++){
for(int y=0;y<4;y++){
hands.put(x+SUITS[x], new ArrayList<Integer>());
}
}
for(int x=0;x<4;x++){
for(int y=0;y<13;y++){
int randCard = rand.nextInt(52)+1;
if(!deck.containsKey(randCard)){
deck.put(randCard, true);
hands.get(x+cardSuit(randCard)).add(randCard);
}else y--;
}
}
Довольно трудно устранить проблему, не имея возможности увидеть метод _cardSuit() _, но очевидно, что на ключ, который вы используете, нет значения, которое вы используете, когда получаете. – jahroy
Глядя на ваш код, нет причин ожидать, что любой из ключей, которые вы пытаетесь разыменовать, будет присутствовать. Эти клавиши вы используете, когда вы _put_ полностью отличаетесь от ключей, которые вы используете, когда вы _get_. – jahroy