I'm trying to make an array of ArrayLists of Strings in java because I need a list of words for every letter of alphabet. I'm doing in in this way:
ArrayList<String>[] letters = new ArrayList[32];
But I'm getting a NullPointerException when I try to add something to my list.
while ((line = bufferedReader.readLine()) != null) {
letter = (int)line.charAt(0) - 1040;
if (letters[letter] == null) {
letters[letter] = new ArrayList<>();
}
letters[letter].add(line);
}
I also tried to create it like that
ArrayList<String>[] leters = (ArrayList<String>[])new ArrayList[32];
But it didn't changed the situation. Please help me to solve my problem.
asked Nov 8, 2016 at 22:15
Sagit Khaliullin
1842 silver badges15 bronze badges
1 Answer 1
I would use a hash map:
HashMap<Character, ArrayList<String>> letters = new HashMap<Character, ArrayList<String>>();
Then you can add words by doing:
ArrayList<String> words = new ArrayList<String>();
words.add(word);
letters.put("A", words);
answered Nov 8, 2016 at 22:17
BlackHatSamurai
23.6k22 gold badges100 silver badges160 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
lang-java
ifstatement becauseletersis null, and not the array. Please read this: How to create a Minimal, Complete, and Verifiable example.АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШ