Mam następującą metodę ... która faktycznie pobiera listę zdań i dzieli każde zdanie na słowa. Tutaj jest to:
public List<String> getWords(List<String> strSentences){
allWords = new ArrayList<String>();
Iterator<String> itrTemp = strSentences.iterator();
while(itrTemp.hasNext()){
String strTemp = itrTemp.next();
allWords = Arrays.asList(strTemp.toLowerCase().split("\\s+"));
}
return allWords;
}
Muszę przekazać tę listę do hashmap w następującym formacie
HashMap<String, ArrayList<String>>
więc ta metoda zwraca List i potrzebuję arrayList? Jeśli spróbuję rzucić to nie działa ... jakieś sugestie?
Ponadto, jeśli zmienię ArrayList na List w HashMap, otrzymam
java.lang.UnsupportedOperationException
z powodu tej linii w moim kodzie
sentenceList.add(((Element)sentenceNodeList.item(sentenceIndex)).getTextContent());
Jakieś lepsze sugestie?
UnsupportedOperationException
jest to spowodowane tym, żeArrays.asList
metoda zwraca listę o stałym rozmiarze popartą tablicą - nie można jej zmodyfikować. Rozwiązanie przedstawione tutaj przez @Jesper pozwoli tego uniknąć.