У меня есть следующий метод ... который фактически берет список предложений и разбивает каждое предложение на слова. Вот:
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;
}
Мне нужно передать этот список в хэш-карту в следующем формате
HashMap<String, ArrayList<String>>
поэтому этот метод возвращает список, и мне нужен arrayList? Если я попробую применить, ничего не получится ... есть предложения?
Кроме того, если я изменю ArrayList на List в HashMap, я получу
java.lang.UnsupportedOperationException
из-за этой строки в моем коде
sentenceList.add(((Element)sentenceNodeList.item(sentenceIndex)).getTextContent());
Есть предложения лучше?
UnsupportedOperationException
это вызвано тем, чтоArrays.asList
метод возвращает список фиксированного размера, поддерживаемый массивом - его нельзя изменить. Решение, представленное здесь @Jesper, позволит избежать этого.