我有一个以下的方法...它实际上接受句子列表并将每个句子分割成单词。这是它:
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>>
所以这个方法返回List,但我需要一个ArrayList?如果我试图进行强制类型转换,它不起作用...有什么建议吗?
另外,如果我将HashMap中的ArrayList更改为List,我会得到
java.lang.UnsupportedOperationException
因为我的代码中有这一行
sentenceList.add(((Element)sentenceNodeList.item(sentenceIndex)).getTextContent());
有更好的建议吗?
UnsupportedOperationException
的出现是因为Arrays.asList
方法返回一个由数组支持的固定大小的列表 - 无法修改。@Jesper在这里提出的解决方案将避免这种情况。 - Duncan Jones