私は次の方法を持っています...実際に文のリストを取得し、各文を単語に分割します。はい、これ:
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());
より良い提案はありますか?
まず、なぜマップがa HashMap<String, ArrayList<String>>
ではなくaなのHashMap<String, List<String>>
ですか?値がインターフェイスの特定の実装でなければならない理由がありますかList
(ArrayList
この場合)?
Arrays.asList
はを返さjava.util.ArrayList
ないため、の戻り値Arrays.asList
を型の変数に割り当てることはできませんArrayList
。
の代わりに:
allWords = Arrays.asList(strTemp.toLowerCase().split("\\s+"));
これを試して:
allWords.addAll(Arrays.asList(strTemp.toLowerCase().split("\\s+")));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加