ฉันมีวิธีการดังต่อไปนี้ ... ซึ่งใช้รายการประโยคและแยกแต่ละประโยคออกเป็นคำ นี่คือ:
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 จะหลีกเลี่ยงสิ่งนั้น