Map<String, List<String>> words = new HashMap<String, List<String>>();
List<Map> listOfHash = new ArrayList<Map>();
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
String word = getTagValue("word", eElement);
List<String> add_word = new ArrayList<String>();
String pos = getTagValue("POS", eElement);
if(words.get(pos)!=null){
add_word.addAll(words.get(pos));
add_word.add(word);
}
else{
add_word.add(word);
}
words.put(pos, add_word);
}
}
これは私が書いたコードの一部です (Stanford CoreNLP を使用しています)。私が直面している問題は、現在、このコードが 1 つのマップ、つまり「単語」でのみ機能していることです。ここで、パーサーが区切り文字である「000000000」を認識したらすぐに、新しいマップをリストに追加し、キーと値を挿入する必要があります。「000000000」が表示されない場合、キーと値は同じマップに追加されます。いくら頑張っても出来ないので助けてください。