Как установить позицию токена в передаваемом документе?

Мне нужна помощь в написании метода (setPostions), который занимает позицию токена, переданного в документе, таким образом, если doc уже присутствует в postionalIndex, это означает, что токен уже появился в документе. Если doc не существует в positionalIndex, это означает, что это первый раз, когда токен появился в документе

public class Token {

private String token;
private Map<Document, List<Integer>> positionalIndex;

public Token(String tok) {
    positionalIndex = new HashMap<Document, List<Integer>>();
    token = tok;
}
 * @param doc
 * @param p
 */
public void setPositions(Document doc, Integer p){

}

1 ответ

int index = doc.getText(0, doc.getLength()).indexOf(token);
positionalIndex.put(doc, new ArrayList<Integer>());
while (index >= 0) {
    List<Integer> pos = positionalIndex.get(doc);
    pos.add(index);
    index = doc.getText(index + 1, doc.getLength()).indexOf(token);
}
Другие вопросы по тегам