2013-03-19 5 views
0

В настоящее время я работаю над проектом, где мне нужно будет сравнить два текстовых документа для всех вхождений слов в документе 1, которые должны быть повторены в документе 2, независимо от положения слова. например, если документ 1 содержит прописку с 10 вхождениями слова «в», документ 2 должен содержать 10 вхождений «в». Нет проблем, если слова помещаются в разные позиции. Как мне это сделать? ..... спасибо заранее.Сравнение двух документов для всех вхождений слов

+5

http://mattgemmell.com/2008/12/08/what-have-you-tried/ –

ответ

0

Постройте a Map<String,Integer>, где вы подсчитываете количество вхождений для каждого слова. Если карта для двух документов одинакова, у вас есть «соответствующие документы».

Map<String,Integer> docToMap(String[] document) { 
    Map<String,Integer> map = new HashMap<>(); 
    for (String s:document) { 
     Integer n=map.get(s); 
     n= n==null?1:(n+1); 
     map.put(s,n) 
    } 
} 
Смежные вопросы