Всем доброго дня!
Подскажите, почему у меня подсчитывет количество только трёх слов, а не всех?
Цель, взять сайт, вычленить из него слова и подсчитать количество повторов уникальных слов
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class Main {
public static void main(String[] args) throws IOException {
Site site = new Site();
ArrayList<String> list = new ArrayList<String>();
list.add(" ");
list.add(",");
list.add(".");
list.add("!");
list.add("?");
list.add("\"");
list.add(";");
list.add(":");
list.add("[");
list.add("]");
list.add("(");
list.add(")");
list.add("\n");
list.add("\r");
list.add("\t");
String pageText = site.getSite().text();
String separatorsString = String.join("|\\", list);
System.out.println(pageText);
System.out.println(separatorsString);
Map<String, Word> countMap = new HashMap<String, Word>();
BufferedReader reader = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(pageText.getBytes(StandardCharsets.UTF_8))));
String line;
while ((line = reader.readLine()) != null) {
String[] words = line.split(separatorsString);
for (String word : words) {
if ("".equals(word)) {
continue;
}
Word wordObj = countMap.get(word);
if (wordObj == null) {
wordObj = new Word();
wordObj.word = word;
wordObj.count = 0;
countMap.put(word, wordObj);
}
wordObj.count++;
}
}
reader.close();
SortedSet<Word> sortedWords = new TreeSet<Word>(countMap.values());
for (Word word : sortedWords) {
System.out.println(word.count + "\t" + word.word);
}
}
}
результат:
5 ВКонтакте
2 Мобильная
1 даже