импортировать java.util.ArrayList;
импортировать java.util.Collections;
импортировать java.util.HashMap;
импортировать java.util.List;
импортировать java.util.Map;
общественный класс WordsStatistics {
класс Объект {
число интервалов;
Объект (число целых) {
this.count = количество;
}
}
статистика public List<WordCount> (строковое слово) {
List<WordCount> rs = новый ArrayList<WordCount>();
Карта <String,Obj> карта = новый HashMap<String,Obj>();
если (слово == ноль) {
вернуть ноль;
}
слово = word.toLowerCase();
слово = word.replaceAll("s", "");
слово = word.replaceAll(",", "");
слово = word.replaceAll("-", "");
слово = word.replaceAll("//.", "");
слово = word.replaceAll("'", "");
слово = word.replaceAll(":", "");
слово = word.replaceAll("!", "");
слово = word.replaceAll("/n", "");
String [] wordArray = word.split(" ");
for(String simpleWord: wordArray) {
простоеСлово = простоеСлово.trim();
if (simpleWord != null && !simpleWord.equalsIgnoreCase("")) {
Obj cnt = map.get(simpleWord);
если ( cnt! = ноль ) {
cnt.count++;
}еще {
map.put(simpleWord, новый Obj(1));
}
}
}
for(Строковый ключ: map.keySet()) {
WordCount wd = новый WordCount(key,map.get(key).count);
rs.add(wd);
}
Collections.sort(rs, new java.util.Comparator<WordCount>(){
@Override
public int Compare(WordCount o1, WordCount o2) {
интервал результата = 0;
если (o1.getCount() > o2.getCount() ) {
результат = -1;
}else if (o1.getCount() < o2.getCount()) {
результат = 1;
}еще {
int strRs = o1.getWord().compareToIgnoreCase(o2.getWord());
если ( strRs > 0 ) {
результат = 1;
}еще {
результат = -1;
}
}
вернуть результат;
}
});
вернуть рупий;
}
public static void main(String args[]) {
String word = «Pinterest, возможно, мечта маркетолога — этот сайт в основном используется для подбора продуктов»;
WordsStatistics s = новый WordsStatistics();
List<WordCount> rs = s.statistics(word);
for(WordCount word1: rs) {
System.out.println(word1.getWord()+"*"+word1.getCount());
}
}
}