นำเข้า java.util.ArrayList;
นำเข้า java.util.Collections;
นำเข้า java.util.HashMap;
นำเข้า java.util.List;
นำเข้า java.util.Map;
WordsStatistics คลาสสาธารณะ {
คลาสอ็อบเจ็ก {
นับจำนวน;
Obj (จำนวน int) {
this.count = นับ;
-
-
สถิติรายการสาธารณะ <WordCount> (คำสตริง) {
รายการ <WordCount> rs = ArrayList ใหม่ <WordCount>();
แผนที่ <String,Obj> แผนที่ = ใหม่ HashMap<String,Obj>();
ถ้า (คำ == โมฆะ) {
กลับเป็นโมฆะ;
-
คำ = word.toLowerCase();
word = word.replaceAll("ของ", "");
คำ = word.replaceAll(",", "");
คำ = word.replaceAll("-", "");
word = word.replaceAll("//.", "");
คำ = word.replaceAll("'", "");
word = word.replaceAll(///, "");
คำ = word.replaceAll("!", "");
word = word.replaceAll("/n", "");
สตริง [] wordArray = word.split(" ");
สำหรับ (สตริง simpleWord: wordArray) {
simpleWord = simpleWord.trim();
ถ้า (simpleWord != null && !simpleWord.equalsIgnoreCase("")) {
Obj cnt = map.get (simpleWord);
ถ้า ( cnt!= null ) {
cnt.นับ++;
}อื่น {
map.put(simpleWord, Obj ใหม่ (1));
-
-
-
สำหรับ (คีย์สตริง: map.keySet()) {
WordCount wd = ใหม่ WordCount(key,map.get(key).count);
rs.เพิ่ม(wd);
-
Collections.sort(rs, java.util.Comparator<WordCount>(){ ใหม่
@แทนที่
การเปรียบเทียบ int สาธารณะ (WordCount o1, WordCount o2) {
ผลลัพธ์ int = 0 ;
ถ้า (o1.getCount() > o2.getCount() ) {
ผลลัพธ์ = -1;
} อื่น ๆ ถ้า (o1.getCount() < o2.getCount()) {
ผลลัพธ์ = 1;
}อื่น {
int strRs = o1.getWord().compareToIgnoreCase(o2.getWord());
ถ้า ( strRs > 0 ) {
ผลลัพธ์ = 1;
}อื่น {
ผลลัพธ์ = -1 ;
-
-
ส่งคืนผลลัพธ์;
-
-
กลับอาร์เอส;
-
โมฆะคงสาธารณะ main (String args []) {
String word = "Pinterest อาจเป็นความฝันของนักการตลาด aa ab aa ab - ไซต์นี้ส่วนใหญ่ใช้เพื่อดูแลผลิตภัณฑ์" ;
WordsStatistics s = WordsStatistics ใหม่ ();
รายการ <WordCount> rs = s.statistics(คำ);
สำหรับ (WordCount word1 : rs) {
System.out.println(word1.getWord()+"*"+word1.getCount());
-
-
-