作者cyclone350 (老子我最神)
看板java
标题Re: [问题] 字串计数
时间Fri Oct 10 22:10:14 2014
※ 引述《pelicanper (派立肯)》之铭言:
: 标题: Re: [问题] 字串计数
: 时间: Fri Oct 10 18:32:48 2014
:
: 1. 使用TreeMap, key: 字串 value:显示次数
:
: 2. 在Constructor里面写Comparator,并Override compare method
: 把你要的logic写入
:
: 3. for each所有String array,插入TreeMap,
: if 已经插入 value++
: else 插入新纪录 value = 1
:
: 4. TreeMap就已经依显示次数排好序
:
: 如果每次都要collection sort是有一点没有效率
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 121.98.152.58
: ※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1412937171.A.35A.html
: → cyclone350: collection sort只会有一次喔~~ 最後结算时才会 sort 10/10 19:56
:
: 你可能要看一下Collections 的sort用的是哪一种data structure
: 不是甚麽东西都可以丢到Collections去sort...
:
: Map就不行,请问用Map要怎麽样转成List再sort,愿闻高见
:
public List<Entry> wordCount(String[] allWords) {
Map<String, Integer> wordCountMap = wordCountToMap(allWords);
List<Entry> countList = new ArrayList<>(map.entrySet());
Collections.sort(countList,
(a1, a2) -> a1.getValue().compareTo(a2.getValue)
);
return countList;
}
不好意思没经过编译及语法检查可能会打错字,但大致意思到就好 !
其实这是我文章所要表达的意思,看来我表达能力并没有很精准...
这篇只好用程式直接解释了... 以免用文字越描越误会 XD
我会推文也只是跟pelicanper大大说他误会我的意思了...结果好像越描越误会
另外pelicanper大大讲话也可以不用讲的那麽死,我并没有甚麽高见
单纯就是简单回答跟回覆而已,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.193.192.133
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1412950217.A.4EC.html
※ 编辑: cyclone350 (123.193.192.133), 10/10/2014 22:14:26
※ 编辑: cyclone350 (123.193.192.133), 10/10/2014 22:14:49
※ 编辑: cyclone350 (123.193.192.133), 10/10/2014 22:35:49
※ 编辑: cyclone350 (123.193.192.133), 10/10/2014 22:36:41
※ 编辑: cyclone350 (123.193.192.133), 10/10/2014 22:38:10
1F:→ pelicanper: 就说List里面不能放Set了,麻烦实做一下好吗 10/10 22:46
用一下上次swpoker大的网页,还蛮好用的
http://ideone.com/P7DTFy
1. 还是一样,讲话别讲太死
2. 我真的被麻烦实作一下了
3. 还是我又被误会了什麽吗?
4. 不知道网页何时会失效
※ 编辑: cyclone350 (123.193.192.133), 10/10/2014 23:13:45
2F:→ pelicanper: entrySet()回传是一大堆mapping的view 10/10 23:16
3F:→ cyclone350: 所以EntrySet不是Set吗? 10/10 23:19
4F:→ ssccg: ArrayList那个constructor就是addAll,原本的collection 10/10 23:21
5F:→ ssccg: 是不是view哪有差,就对新的list做事而已啊 10/10 23:22
6F:推 pelicanper: 嗯,应该是我错了 10/10 23:27