黑马程序员技术交流社区

标题: 统计某个单词出现的次数 [打印本页]

作者: boom_pm2.5    时间: 2016-11-20 23:51
标题: 统计某个单词出现的次数
上干货!

---]----------------------------------------------------------------------------------------------

题文要求:
/*分析以下需求,并用代码实现:
        (1)统计每个单词出现的次数
        (2)有如下字符串"If you want to change your fate I think you must come to the dark horse to learn java"(用空格间隔)
        (3)打印格式:
                to=3
                  think=1
                  you=2*/

----------------------------------------------------------------------------------------------------------------------

代码区:


import java.util.Comparator;
import java.util.TreeMap;


public class HomeWork04 {
        public static void main(String[] args) {
                String str = "If you want to change your fate I think you must come to the dark horse to learn java";
                String[] arr = str.split(" ");
                TreeMap<String, Integer> tm = new TreeMap<>(new Comparator<String>() {

                        @Override
                        public int compare(String o1, String o2) {
                               
                                return o1.length()-o2.length()==0?o1.compareTo(o2):o1.length()-o2.length();
                        }
                       
                });
                for (String string : arr) {
                        if (!tm.containsKey(string)) {
                                tm.put(string, 1);
                        } else {
                                tm.put(string, tm.get(string)+1);
                        }
                }
               
                for (String string : tm.keySet()) {
                        System.out.print(string+"="+tm.get(string)+" ");
                }
               
        }
}
-----------------------------------------------------------------------------------------------------------------------------
总结下:

这道题  就想统计 字符出现的次数一样,
只不过是将  正则的 法则  稍微变了一下,
那个是存 字符,
这个是存 字符串.原理都是一样的
都用到了  比较器.


作者: wangyuit    时间: 2016-11-21 00:07
很给力

作者: mfsara    时间: 2016-11-21 00:48
统计思想,首先要用到计数,给一个初始值,int count =0

作者: 文明密码    时间: 2016-11-21 09:50
这题学完字符串常用方法就能做的吧,还要用集合?

作者: aA772807986    时间: 2016-11-21 09:58
同学,可以啊,不过建议自己写一个统计,就是不用集合框架
作者: boom_pm2.5    时间: 2016-11-21 22:39
文明密码 发表于 2016-11-21 09:50
这题学完字符串常用方法就能做的吧,还要用集合?

万一你要用键盘输入呢, 你知道我要输入的个数吗?
这个可以 自动加长...
作者: SuperLan    时间: 2016-11-21 23:22
不错不错,赞一个
作者: 来到精彩世界    时间: 2016-11-21 23:48
思路很好特别啊,干货
作者: 文明密码    时间: 2016-11-21 23:53
boom_pm2.5 发表于 2016-11-21 22:39
万一你要用键盘输入呢, 你知道我要输入的个数吗?
这个可以 自动加长...

不管你输入多少个,用字符串知识就能解决!根本用不着集合,当然,你这个用集合的思路也很特别,只能说杀鸡焉用牛刀!







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2