本案例研究编写了一个程序,用于计算文本中单词的出现次数,并按单词的字母顺序显示单词及其出现次数。该程序使用 TreeMap 来存储由单词及其计数组成的条目。对于每个单词,检查它是否已经是映射中的键。如果没有,请向地图添加一个条目,其中单词为键,值为 1。否则,将地图中单词(键)的值增加 1。假设单词不区分大小写;例如,Good 的处理方式与 good 相同。
下面的代码给出了问题的解决方案。
一个2
1 级
有趣1
好3
有3个
早上1
访问 1
程序创建一个TreeMap(第11行)来存储单词对及其出现次数。这些词作为钥匙。由于映射中的所有值都必须存储为对象,因此计数被包装在 Integer 对象中。
程序使用 String 类中的 split 方法(第 13 行)从文本中提取单词。对于提取的每个单词,程序都会检查它是否已作为键存储在映射中(第 18 行)。如果不是,则由单词及其初始计数 (1) 组成的新对存储在映射中(第 19 行)。否则,单词的计数将增加 1(第 21-23 行)。
程序获取集合中映射的条目(第 29 行),并遍历集合以显示每个条目中的计数和键(第 32-33 行)。
由于地图是树状图,因此条目按单词升序显示。您也可以按出现次数的升序显示它们。
现在坐下来思考一下在不使用地图的情况下如何编写这个程序。你的新程序会更长、更复杂。你会发现map是一个非常高效、强大的数据结构,可以解决这样的问题。
以上是案例研究:单词的出现的详细内容。更多信息请关注PHP中文网其他相关文章!