本案例研究编写了一个程序,用于计算文本中单词的出现次数,并按单词的字母顺序显示单词及其出现次数。该程序使用 TreeMap 来存储由单词及其计数组成的条目。对于每个单词,检查它是否已经是映射中的键。如果没有,请向地图添加一个条目,其中单词为键,值为 1。否则,将地图中单词(键)的值增加 1。假设单词不区分大小写;例如,Good 的处理方式与 good.
相同下面的代码给出了问题的解决方案。
a2
1 级
有趣1
好3
有 3
早上1
访问 1
程序创建一个TreeMap(第11行)来存储单词对及其出现次数。这些词作为钥匙。由于映射中的所有值都必须存储为对象,因此计数包含在 Integer 对象中。
程序使用 String 类中的 split 方法(第 13 行)从文本中提取单词。对于提取的每个单词,程序都会检查它是否已作为键存储在映射中(第 18 行)。如果不是,则由单词及其初始计数 (1) 组成的新对存储在映射中(第 19 行)。否则,单词的计数将增加 1(第 21-23 行)。
程序获取集合中映射的条目(第29行),并遍历集合以显示每个条目中的计数和键(第32-33行)。
由于地图是树形地图,因此条目按单词升序显示。您也可以按出现次数的升序显示它们。
现在坐下来想想如何在不使用地图的情况下编写这个程序。你的新程序会更长、更复杂。你会发现map是一个非常高效、强大的数据结构,可以解决诸如此类的问题。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3