:
* 1.需要知道每个字符出现的次数,就要对每个字符进行遍历.
* 2.如何对遍历出来的字符和对应出现的次数进行存储呢?就需要map集合.
* 3.这里一个问题就是,如何把每个字符出现的最完美的次数装入map中呢?
* 就需要通过一个判断,如果这个字符不存在,就将key以及对于value存入.
* (如果已经存在,说明这个字符遍历的已经不是最大的value值了)
* 4.当这个map集合把元素都存入之后,再通过EntrySet()将这个关系对遍历出来.然后再分别获取key和value.最后打印.
*
* 总结:
* 1.对于出现了有映射或者对应关系的元素时,必须想到要用到map集合.
* 2.对于要查询出现的次数,必须要能够想到需求遍历.
*
* 思考:
在这个编程题目中,主要涉及了两个知识点:Java 中的字符计数和面向对象的继承。
我们来看第一个知识点——字符计数。在Java中,如果你需要统计一个字符串中各个字符出现的次数,通常会使用HashMap(属于Map接口的一个实现)来存储字符及其对应的出现次数。以下是关键步骤:
1. 遍历字符串:通过`toCharArray()`方法将字符串转换为字符数组,然后用一个循环遍历数组中的每个字符。
2. 使用Map存储:Map集合用于存储字符(Character)作为键(Key)和出现次数(Integer)作为值(Value)。初始化一个HashMap来保存这些数据。
3. 更新计数:在遍历过程中,比较当前字符与已遍历过的字符,如果相同则增加计数。为了确保记录的是最大次数,我们需要在放入Map前检查键是否已存在。如果不存在,才将键值对存入Map。
4. 输出结果:遍历Map的`entrySet()`,获取所有键值对,然后打印字符及其对应的出现次数。
在代码示例中,`StringList`方法实现了这个功能,`ListMap`方法则负责打印结果。注意,`containsKey`方法用于检查键是否存在于Map中,以避免重复添加。
第二个知识点是面向对象的继承。在Java中,继承允许一个类(子类)继承另一个类(父类)的属性和方法。这有助于代码重用和扩展。以下是一些关于继承的关键点:
1. 确定继承关系:确定哪个类是父类,哪个类是子类。父类提供基本的属性和方法,子类则可以继承父类的特性并添加自己的属性和方法。
2. 方法访问:子类可以通过`super`关键字调用父类的构造器和方法。
3. 继承的优点:减少代码冗余,增强代码的扩展性,提高代码复用率。
4. 继承的弊端:单继承可能导致扩展限制,因为子类只能继承一个父类;继承使代码耦合度增加,可能加大维护难度;过度依赖继承可能会导致设计过于复杂,不利于维护。
在提供的代码片段中,虽然没有完整的类定义,但可以理解为有一个Employee类作为父类,包含姓名、工号和工资属性,而Manager类作为子类,继承Employee并添加奖金属性。子类可以通过`extends`关键字实现继承,并使用`super`调用父类的构造器和方法。
这两个知识点都是Java编程中非常基础且重要的部分。字符计数展示了Map集合在处理映射关系问题上的优势,而面向对象的继承则是软件设计中复用和扩展性的重要手段。理解和熟练掌握这些概念对于提升Java编程能力至关重要。