1.哈希表:一个作用是经常用来统计某个字符某个元素在数组里(或者数据集里)出现了多少次(对应到Map的键值对中就是键对应数组中哪个元素,值对应数组中哪个元素出现的次数),做题的时候感觉一般涉及到数组都会先来个if语句判断一下数组长度是否为空等。2.今天看了观察者模式,总体感觉就是,之前咱们会有这样一种思想,用个if语句,switch+case语句,while等来判断一下,当……就……。但是举个例子,一个宝宝睡着了,如果按照之前的思路,就是让爸爸妈妈等一直蹲在宝宝床边,宝宝一哭,爸爸妈妈就要做出反应,这样一来啥都干不了效率太低。用观察者模式后,我找一个大管家(名为注册中心)统一管理所有观察者(爸爸妈妈)和被观察者(宝宝),这会就灵活了,当宝宝(被观察者)一哭,注册中心立即给爸爸妈妈(观察者)发实时通知让赶紧来,当爸爸不想待家里管小孩了,只需给注册中心说一下,注册中心会取消他的观察者身份,他以后也不会收到实时通知;要是狗狗想加进来作为一个观察者,那么他只需要给注册中心说一声,注册中心以后就会给他也发实时通知。思路是这样,转化成代码的话,按照目前我的菜菜鸟程度而言,找一个接口(接口(用来被实现)中有很多抽象方法(用来被重写))注册中心,然后爸爸类,妈妈类,狗狗类,可以使用监听机制挂到注册中心上,然后接口的实现子类中应该有一个列表等,用它里面的空间存储观察者和被观察者,利用add方法和remove方法实现增加减少观察者和被观察者……大概就是这些了。