昨天看传智播客的官网看这的培训名师答疑中有这么一段话
-------------------------------------------------------------------------
困惑:学的多,忘的快,我该怎么办?
知识点多,也是为了让学员找工作更具备竞争力。
试想,只讲一些简单的,怎么就业呢?
知识点多,咱不怕,就怕没方法应对。
知识点多往往会造成两个问题:第一,没时间消化,第二,混乱有点晕。
解决办法:笔记加总结。
听课时一定要提高效率,对课上的知识点以及要点进行简记(知识点大纲并标注重点),
笔记中最好明确出未听懂的知识点,下课及时找老师和同学解决。
这样可以给课后复习节省很多时间。
课后复习时,先将笔记中知识点内容尽量补足,
这个总结的好处在于清晰的知道这一天都学了什么,
最重要的是知道哪些知识点还不是很清楚(可以通过针对该知识点的课上视频搞定)。
知识点只要不断的进行的梳理,就不会感觉混乱和晕了。
总结刚开始花的时间较多,当熟练了,就可以提速了。
知识点多,忙不过来,强烈建议,只复习课上重点的部分,次重点留到休息日。
敲代码要有选择性,只敲练习题,或者综合性的代码。
忘的快,这个比较正常,因为每天都有新知识进行学习,
之前的知识还没有得到足够时间的巩固,容易遗忘。
想要短时间巩固,教你三招:
1,总结知识点时,尽量试着对知识点写出自己的理解和心得,
这样才可以把老师的内容转换成自己的内容,才会印象深刻,
即使想不起来,咱也有总结可查,有备无患。
2,练习该知识点代码的时候,不要求快,求稳,
一边写,一边想想你对这个知识点理解。这一遍代码下来,虽然速度较慢,
但是即练习了代码,又巩固了知识点,甚至加深了对其的理解。
3,想要验证一个知识点是否真的掌握,最简单的方式就是和别人交流,讲给别人听。
如果对方在不懂的情况下,被你讲明白了,你欧了。
如果把自己讲晕了,呵呵,你也就知道是否真的掌握了。不是吗?
第三招强烈建议,因为不仅巩固了知识点,还锻炼了表达技术的能力(对面试帮助无限),
而且因为你的热心帮助,还有了很多朋友,帮助别人,提高自己。何乐不为?
每结一得或者每结多得,并坚持,你肯定收获颇丰!
-----------------------------------------------------------------------------------------------------------
我刚好学到张老师的集合这里,上一次学的时候怎么也没学会,(这是我看的第二遍,为了迎接面试)
这次我看上面的话,我就开始总结,不会的地方反复的看,反复的揣摩老师的话。就果断的学会了。
-----------------------------------------------------------------------------------------------------------
package cn.itcast.day01;
import java.util.*;
public class ReflectTest2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//Collection collections = new ArrayList();//ArrayList是一个有序的集合,即使同一个对象的引用也可以放进去,取得时候可以按第几个去取
Collection collections = new HashSet();//放的时候先看看有没有这个对象若有就不放,我的理解是每个对象在往里放的时候,
ReflectPoint pt1 = new ReflectPoint(3,3);//会先按照哈希算法计算哈希值,若这个集合里面有这个哈希值,就放不进去。
ReflectPoint pt2 = new ReflectPoint(5,5);//当我们重写Hashcode方法后pt1和pt2为什么变成一个对象了呢?
//要想明白这个问题就必须知道什么是Hashcode,见下面。
ReflectPoint pt3 = new ReflectPoint(3,3);//pt1和pt2对象是相等的因为他们是同一个对象(new RefiectPoint(3,3))
collections.add(pt1); //当我们重写了pt1和pt2的Hashcode方法,pt1和pt2计算出来的
collections.add(pt2); //当系统在比较这两个对象时就调用Hashcode方法,而我们重写了该方法所以是同一个对象。
collections.add(pt3); //若我们不重写Hashcode方法虽然他们的equals相同,但是他们的Hashcode地址值不同
//collections.add(pt1); //pt1有pt1的哈希值,pt2有pt2的哈希值
System.out.println(collections.size());
}
}
HashSet就是采用哈希算法存取对象的集合,它内部采用的对某个数字n进行取于的方式对哈希码进行分组和划分的存储区域,
Object类中定义了hashCode()方法来返回每个java对象的哈希码,当从HashSet集合中查找某个对象时 Java系统首先调用对象
的hashCode()方法获得该对象的哈希码,然后根据哈希码找到相应的存储区域,最后取出该存储区域内的每个元素与对象的equals方法比较,
这样不用遍历集合中的所有元素就可以得到结论,可见HashSet集合具有很好的对象检索性能.
---------------------------------------------------------------------
我用着这方法学习的东西很多就不11举例了。
还有这个方法,还不容易忘,因为都是自己总结出来的。
希望对你们有所帮助。谢谢
----------------------------------------------------------------------
|
|