今日一问系列
星星笑语_
我的征途是星辰大海。
展开
-
hash(key)的作用
问题今日一问:我们知道,Object类的hashCode()函数是用来在哈希表里将对象映射成int值的,然后根据这个int值计算出哈希值从而确定其在哈希表里的位置,在Hashtable里能看到他是这么做的:int hash = key.hashCode();int index = (hash & 0x7FFFFFFF) % tab.length;但是在HashMap里,stati...原创 2020-01-12 23:45:33 · 4394 阅读 · 0 评论 -
关于避免反射对逻辑的影响
问题今日一问:我们知道,Java的反射可以获取到系统里的对象之后,进而去调用这些对象的方法,甚至去修改对象的属性值,那么今天的问题是:我们在编写类的时候,如何写出受反射影响比较小的代码。简单来说就是在被反射调用的时候,更少的出现闪退,逻辑混乱等情况。更进一步,这些对我们的日常编码有什么启示。答案首先,我们看反射能够干什么事:自由调用构造方法创建对象;自由调用对象的方法;自由修改对象的...原创 2020-01-12 23:45:05 · 255 阅读 · 0 评论 -
链表有环的判断
问题今日一问:我们知道,在一个链表里,如果某一个节点的next属性指向了链表的另一个节点,那么这个链表就是有环的。 那么今天的问题是:如何判断一个单链表是有环的。一个有环的链表会给程序带来什么样的隐患。提示:你可能会想到在链表里选取一个节点,然后对链表进行循环,如果循环到了这个节点就说明链表有环了,但是这个办法的问题是如何确保选取的节点在链表里,如果有办法确定这点,实际上就相当于判断了链表是否...原创 2020-01-12 23:44:14 · 174 阅读 · 0 评论