V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  amiwrong123  ›  全部回复第 32 页 / 共 40 页
回复总数  794
1 ... 24  25  26  27  28  29  30  31  32  33 ... 40  
@KentY
谢谢回答。

为什么 /factor +1 你的解释我大概理解了,就是说如果是小数的话,那么应该向上取整,即使我这种情况会让容量和阈值变成应有的二倍。 那是不是意思就是 /factor +1 是为了保护某个特例,这种特例如果不加 1 就会造成容量和阈值都不够大 ,但是我现在又想不出来这种特例(就是 s 为多少时,这里就必须加 1 了)。。。

为什么不把自身的 size 加上,你说的我也大概懂了。大概就是 hashmap 的懒汉模式吧。
比如 s > threshold,且当前 map 的映射集合是传入 map 的映射集合的子集时(如果是子集,会使得两个 map 合并后,映射数量最少),即使是合并后映射数量最少的情况,也是必须 resize 的。
如果 s <= threshold,且传入 map 的映射集合是当前 map 的映射集合的子集时,这种情况就肯定不需要 resize 了。(这种情况很极端,其他情况还是有可能在后面的循环里再次 resize 的)
2019-12-09 13:03:26 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@zrc
虽不文雅,但很贴切
2019-12-09 13:02:35 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@mejee
等结婚以后,媳妇又把婆婆给哄住了,这就是控制反转的反转?
2019-12-08 17:42:59 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@aut0man
所以那些渣男渣女都是面对过程的喽
2019-12-08 17:30:54 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@hirasawayui
你每天观察一个姑娘的朋友圈,突然发现姑娘朋友圈说分手了,你的机会来了,这也是观察者模式
2019-12-08 17:25:08 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@xFan
然后顿悟到自己没有对象居然还在搞什么面对对象😂
2019-12-08 17:23:34 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@itskingname
新闻里,女子与五个男人领结婚证,结一次婚换一个省。这就是单例模式失效?
2019-12-08 17:20:43 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@Pastsong
确实,工厂就是工厂模式
2019-12-08 17:20:17 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@jenschen
带着钱包,管他里面有没有钱,避免了没有钱包的尴尬(避免判断 null )
2019-12-06 08:51:47 +08:00
回复了 amiwrong123 创建的主题 Java think in Java 里面说 linkedlist 无法转型到 deque 什么意思啊
@Jrue0011
不不不,我还是看的中文第四版,只是遇到像这种无法理解的,才去看原文
2019-12-06 08:50:50 +08:00
回复了 amiwrong123 创建的主题 Java think in Java 里面说 linkedlist 无法转型到 deque 什么意思啊
@Andy00
好吧,原来是版本问题啊。我看的就是第四版
2019-12-01 16:24:50 +08:00
回复了 amiwrong123 创建的主题 Java Java 里 hashset 放置元素的过程,这么理解对吗?
@cxtrinityy
好吧,确实是不够深入。你说的这几点我记下,回头再继续看。你说的第三点感觉挺有意思,虽然我现在有点理解不了,哎,得看源码了。
2019-12-01 16:20:53 +08:00
回复了 amiwrong123 创建的主题 Java Java 里 hashset 放置元素的过程,这么理解对吗?
@renmu
看到这句话 A real world example of a hash table that uses a self-balancing binary search tree for buckets is the HashMap class in Java version 8.

self-balancing binary search tree 这难道就是传说中的红黑树😂
2019-12-01 15:37:54 +08:00
回复了 amiwrong123 创建的主题 Java 为什么 Class 对象不能用==比较呢,但强转 Object 后就可以了?
@SoloCompany
确实,赋值相容,就是代表可以隐式转换。
2019-12-01 15:37:15 +08:00
回复了 amiwrong123 创建的主题 Java 为什么 Class 对象不能用==比较呢,但强转 Object 后就可以了?
@ZredoC
哈哈哈哈,不打扰不打扰
2019-12-01 15:36:50 +08:00
回复了 amiwrong123 创建的主题 Java 为什么 Class 对象不能用==比较呢,但强转 Object 后就可以了?
@geelaw
谢谢解答,直接解开了我的疑惑
2019-12-01 15:35:46 +08:00
回复了 amiwrong123 创建的主题 Java 为什么 Class 对象不能用==比较呢,但强转 Object 后就可以了?
@aguesuka
boolean result = ((Class) String.class) == ( Integer.class); 所以右边的就可以隐式转换为泛型的原生类型了。
2019-11-26 09:48:56 +08:00
回复了 amiwrong123 创建的主题 问与答 迫于失眠,一睡觉就胡思乱想,求助睡方法
谢谢各位,回头我都试试。

昨天 11 点躺下,很困,一会就睡着了。
@by73
你说的也有道理,而且我突然觉得,对于把 lastRet 修改成一个有效状态这件事,应该只允许让 next/previous 来,因为 lastRet 的定义就是 Index of element returned by most recent call to next or previous。所以在 add 里面除了置 lastRet 为-1 外,是不允许 add 里面把 lastRet 修改成一个有效状态的(就是我 7 楼代码的 lastRet = i + 1;)
@by73
好吧,是我没想到这一点。`previous(); add();` 这样执行以后,如果把那句删除掉了,那么 lastRet 指向的元素就不对了,所以需要这句把 lastRet = -1。

那我现在有一个大胆的想法,如果改成这样是不是就合理了:
https://paste.ubuntu.com/p/PTBDz9qDsK/
```java
public void add(E e) {
//add 不用关心 lastRet,即不在乎之前有没有 remove 或 add
checkForComodification();

try {
int i = cursor;
AbstractList.this.add(i, e);
if (lastRet = -1)//刚执行了 remove,因为现在只有 remove 可以置为-1
lastRet = -1;//lastRet 不变
else if (lastRet < cursor)//刚执行了 next
lastRet = lastRet;//lastRet 不变
else if (lastRet = cursor)//刚执行了 previous
lastRet = i + 1;//让 lastRet 也跟着移动,这样 lastRet 就能指向被移动到后面一格的那个元素了

cursor = i + 1;
expectedModCount = modCount;
} catch (IndexOutOfBoundsException ex) {
throw new ConcurrentModificationException();
}
}

// 总结一下逻辑,就可以改成下面这样
public void add(E e) {
//add 不用关心 lastRet,即不在乎之前有没有 remove 或 add
checkForComodification();

try {
int i = cursor;
AbstractList.this.add(i, e);
if ( (lastRet != -1) & (lastRet = cursor) )
lastRet = i + 1;
cursor = i + 1;
expectedModCount = modCount;
} catch (IndexOutOfBoundsException ex) {
throw new ConcurrentModificationException();
}
}
```
1 ... 24  25  26  27  28  29  30  31  32  33 ... 40  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1099 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 23:47 · PVG 07:47 · LAX 15:47 · JFK 18:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.