V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  amiwrong123  ›  全部回复第 32 页 / 共 40 页
回复总数  782
1 ... 24  25  26  27  28  29  30  31  32  33 ... 40  
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();
}
}
```
@zhoulifu
看了,看完以后更加觉得 add 方法里面这句 lastRet = -1;可以删除掉了。删除掉后,还能继续执行 remove 或者 set 呢(这两个方法需要 lastRet 不为-1 ),而且删除掉后 lastRet 也是符合 Index of element returned by most recent call to next or previous 的这个含义的啊。
@by73
不对啊,什么叫 add 会影响 previous 啊, 就算刚执行了 add 也能再执行 previous 啊。previous 的执行前提又不需要 lastRet 不是-1。

看第二个图,第一个状态执行了 next,然后 add,然后 add。假如`lastRet = -1;`删掉了,就是第二个图的效果。

现在由于 lastRet 不是-1,那么也可以执行 remove 和 set 了(因为这两个操作执行的前提就是 lastRet 不是-1 )。而且删除掉后,也符合 lastRet 的含义啊:Index of element returned by most recent call to next or previous.现在 lastRet 确实是指向上一次 next 返回的元素的索引啊。
@by73
谢谢回复,我懂了,因为删除掉以后,你再执行 previous,会返回错误的元素(会返回图中第二个绿色节点,但其实应该返回那个浅蓝色节点)
2019-11-20 10:58:58 +08:00
回复了 amiwrong123 创建的主题 问与答 excel 文件里面,一个 sheet 里面的下面有两个进度条可以拉
说一个实用功能,wps 那个护眼模式,开启好方便。要是用 word 还得去修改 Windows 里的变量。
2019-11-20 10:56:14 +08:00
回复了 amiwrong123 创建的主题 问与答 excel 文件里面,一个 sheet 里面的下面有两个进度条可以拉
@cydian
@gavindexu
@cydian
非常感谢各位,在视图里面,点取消拆分,然后就好了
2019-11-17 18:59:22 +08:00
回复了 blackbeardd 创建的主题 问与答 为什么入睡这么难?
我也是,我是睡觉的时候感觉自己的心跳声太大了,哎,困扰我好久了
中间那句话可以先去掉来理解(忘了这是什么语法,谁能说下),然后去掉后,that 和 is 连起来就是 CompletionStage 的定语从句。
2019-11-16 19:28:46 +08:00
回复了 amiwrong123 创建的主题 问与答 win10 屏幕会闪黑屏 怀疑是 chrome 的锅
@FireFoxAhri
后来你怎么解决 的啊
2019-11-16 19:28:07 +08:00
回复了 amiwrong123 创建的主题 问与答 win10 屏幕会闪黑屏 怀疑是 chrome 的锅
@xiangyuecn
是得监控啊,反正我是发现这 chrome 太占资源了
2019-11-16 19:25:44 +08:00
回复了 amiwrong123 创建的主题 问与答 win10 屏幕会闪黑屏 怀疑是 chrome 的锅
@0x64
但是他喵的谁能想到,这个内存太少会导致黑屏
2019-11-16 19:25:05 +08:00
回复了 amiwrong123 创建的主题 问与答 win10 屏幕会闪黑屏 怀疑是 chrome 的锅
@flynaj
还真不是显卡驱动的锅
1 ... 24  25  26  27  28  29  30  31  32  33 ... 40  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4994 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 08:59 · PVG 16:59 · LAX 00:59 · JFK 03:59
Developed with CodeLauncher
♥ Do have faith in what you're doing.