- 博客(6)
- 收藏
- 关注
转载 ArrayList如何正确删除一个元素?
总结:使用迭代器遍历时ArrayList会用lastRet和cursor两个变量来维护当前遍历的元素索引和下一次需要遍历元素的索引,通过这两个变量就可以实现迭代中正确的删除某个位置的元素。我们通过list.iterator()拿到的就是这个内部类的对象实例,这个类中有两个字段cursor和lastRet,这两个字段就是我们能在迭代器中正确删除对应位置的元素的关键。首先当我们删除第10位元素时,List会将后面的元素向前补位,之后再查第10位元素就会输出第11位元素。
2023-09-18 16:08:55
586
转载 为什么hashMap默认容量大小是16
长度为16时,可能会出现各种结果出现,因为(Length-1=15) 15的二进制1111,可以出现所有结果,在Length为16的前提下,只要输入的Hash数据本身分布均匀,Hash算法的结果就是均匀的。1.HashMap的默认初始长度是16,自动拓展和手动初始化时,长度必须是2的幂,即2^n ,源码是这样表示的 1
2023-09-17 17:02:06
488
1
转载 力扣77题
其中,若将 result.add(new LinkedList<>(path))改成result.add(path),那么result当中最终存的都是空的List。,将result尾部指向了path地址,后续path内容的变化会导致result的变化(由于回溯path.removeLast()的原因,path最终为空)。,开辟一个独立地址(空间),地址中存放的是和当前path内容一样的另一个新链表,后续path的变化不会影响到result中该链表的变化。1.result.add(path)是。
2023-09-12 16:24:59
71
1
原创 JavaScript学习02
JavaScript语言的每一个值,都属于某一种数据类型。JavaScript的数据类型,共有六种。(ES6又新增了第七种Symbol类型的值,本教程不涉及。)数值(number)整数和小数(比如1和3.14)。字符串(string)文本(比如)。布尔值(boolean)表示真伪的两个特殊值,即true(真)和false(假)。undefined表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值。null表示空值,即此处的值为空。对象(object)和与。...
2022-07-29 17:04:22
161
1
原创 JavaScript学习01
比如,赋值语句的等号右边,预期是一个值,因此可以放置各种表达式。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。为了避免这种情况,有些开发者习惯将常量写在运算符的左边,这样的话,一旦不小心将相等运算符写成赋值运算符,就会报错,因为常量不能被赋值。需要注意的是,“布尔值”往往由一个条件表达式产生的,必须放在圆括号中,表示对表达式求值。JavaScript语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。...
2022-07-29 15:46:45
105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人