首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Iterator的remove方法可保证从源集合中安全地删除对象,而在迭代期间不能直接删除集合内元素

这是为什么呢?...有些集合不允许在迭代时删除或添加元素,但是调用 Iterator 的remove() 方法是个安全的做法。 那么为什么用Iterator删除时是安全的的呢?...现在我们回到最初的问题,为什么用list直接删除元素迭代器会报错?...=modCount,也就是发现当前版本和迭代器记录的版本不一样,那么迭代过程中肯定就会有问题,这时,就会报出之前的异常。 那么,我们再来看下为什么用Itr删除时就可以安全的删除,不会报错呢?...还有一个有趣的点是: 有意思的是如果你的 Collection / Map 对象实际只有一个元素的时候, ConcurrentModificationException 异常并不会被抛出。

5.9K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    抖音一面:z-index大的元素一定在小的上面吗?

    开始文章前,上两道面试真题: z-index值大的元素一定在值小的上面吗? 如何实现父元素覆盖子元素?...先公布一下答案:z-index不一定会生效,生效了也不一定是值大的在上面,主要取决于层叠上下文;给父元素设置一个很大的z-index不能实现覆盖子元素,但是把子元素的z-index设置成负数却可以满足要求...这两个题的考点都是层叠上下文,本文会讲清为什么。 顾名不难思义,层叠上下文是把元素以三维的视角,放在不同层级来判断最后的堆叠关系,它由z-index这个属性来决定“等级“。...如果是一个没有指定z-index(即为auto)的定位元素,那么虽然它不能形成一个层叠上下文,但是比较层级时,和z-index:0的等级是一样的。...要实现父元素覆盖子元素,去给父元素设置一个很大的z-index是没有用的。因为这样他就成为一个层叠上下文的根元素了,无论子元素被如何设置都会在这个层叠上下文根元素之上。

    82120

    「CSS畅想」何以解忧,美食足矣,用技术给好友开发了一个零食盲盒小游戏

    看着网友分享的零食图片,我头顶的灵感之光亮了。 正所谓,何以解忧,美食足矣。我准备给好友写一个零食盲盒的小游戏,能看不能吃的那种。 游戏名称 这次的游戏名我准备采用怀旧+直白的方式命名。...当设置边缘的颜色和外层父容器的背景颜色一致时,就会形成凹陷的效果。...,进行点击操作; 点击之后,将所有盒子的可点击性值变成不可点击; 获取0~5的随机数,确定最终获得的零食类型; 将盲盒的盖子打开,打开效果做了一个盖子移动的动画,最终盖子会消失; 盖子消失之后,零食会展示到盒子上方...transform-style还挺好用的。大部分时候,实现3D效果,在父元素上设置transform-style属性的值为preserve-3d,后面的就可以随意发挥了。...有时候学习并不困难,如何应用是关键,所以,想要熟练的掌握前端知识,还需要不断的练习和应用。

    28230

    css 定位

    绝对定位元素也看不见绝对定位元素。所以下图2个box2发生了重叠 ? 绝对定位的定位对象是从它的父元素找是否有relative/fix/absolute。...如果父元素设置了relative/fix/absolute,那父元素就是绝对定位元素的定位点,如果父元素没有设置relative/fix/absolute,就继续往上找,直到body和html为止。...所以使用absolute绝对定位的时候,最好在父元素上设置相对定位relative。 ? 设置绝对定位之后,块级元素宽度会收缩,宽度由内容决定。行内元素可以设置宽高,内外边距。 ? ?...2、遇到的坑: (1)、父元素z-index值更高,无论其子元素的z-index值大小,都可以覆盖z-index值比父元素小的元素。 (2)、如果z-index的值为auto,不会构成叠层上下文。...(3)、父子关系的z-index 如何设置,不影响它和 box 的堆叠顺序。但我发现如果不设置父元素的z-index,然后再把子元素的z-index值设置为负数。父元素就会直接覆盖子元素。

    1.5K20

    我总结了从0到1建立数据分析指标体系的底层逻辑

    不同的公司业务大相径庭,就算是同一个行业,也有不同规模,不同细分客户群,很难一概而论。有时候,看到竞品公司有哪些指标,虽然不知道有没有用,我们也急着“跟风”。 什么才是适合自己公司或部门的数据体系?...为了解决这个问题,引出第一条底层逻辑: 逻辑一:多维度视角 先要确定数据指标体系的目标受众,“他”看数据的视角和维度:职位侧重点在哪里,业务阶段是初期还是成熟期?...围绕着刚刚的元素问下去,似乎有“十万个为什么”,我们怎么知道这些元素”从哪里来“ ?...投诉的次数越多,复购的概率越低,复购量和投诉量是互斥关系。 这样,我们已经通过梳理业务考虑到很多节点的数据。说到用处,这些数据都有用,但是,全部都关注,看完一遍,都要花很多时间。...但有时候,同一个指标直接对比并不能说明问题, 例如,今年付费用户90个,去年付费用户80个,今年一看上去就是更好。 但是去年没有做推广,总用户只有100个,其中付费就有80个。

    94152

    vue3中的插槽

    默认插槽 默认插槽是最简单和常见的一种插槽。它允许组件接收任何未命名的内容,并将其作为组件的子元素插入。...具名插槽可以像下面这样使用: 在父组件中使用 时,要为具名插槽传入内容,我们需要使用一个含 v-slot 指令的 元素,并将目标插槽的名字传给该指令:...下面代码在父组件指定了名称为“header”的插槽内容,在子组件中有相同名称的插槽,父组件插槽内容会覆盖子组件插槽内容。...父组件代码 如果在父组件中指定了插槽名,在子组件中有相同名称的插槽,父组件插槽内容会覆盖子组件插槽内容。...4、在父组件和子组件中都指定了名称,父组件中指定名称的插槽内容会覆盖子组件中相同名称的插槽内容。

    37041

    html+css学习笔记015-H5新选择器0文字阴影

    Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 ‘ 男儿本应走四方,不遇温柔不回首 ’ 有时候,在一个城市里生活久了 就想要逃离 想要去一个陌生的城市重新开始...无关生存,也不为逃避 而是觉得没有留下来的理由和牵挂吧 毕竟生活中不会像电影《向左走向右走》那样 电影的最后终会相遇 而现实中 或许永远不会相见 陌生的城市,熟悉的角落 日复一日 日复又一日........{ /* 选择父元素中的第一个img元素 */ border:1px solid #CCC; } img:last-of-type{ /* 选择父元素中的最后一个img元素 */ border:1px...选择父元素中的第一个元素,并且必须是img元素 */ border:1px solid #CCC; } img:last-child{ /* 选择父元素中的倒数第一个元素,并且必须是img元素 */ border...(2){ /* 选择父元素中的第二个img元素 */ border:1px solid #CCC; } img:nth-last-of-type(2){ /* 选择父元素中的倒数第二个img元素 */

    48810

    神奇的前端——复盘系列一

    深度思考和持续复盘是人类进步的阶梯。 任何一门技术都博大精深,尤其是前端。最近还是要觉得需要复盘一些学习和工作中遇到的问题的,接下来就做一下复盘笔记。 1. 如何让滚动条不占位?...我们都知道当网页内容溢出出现滚动条时,滚动条会占据一定的空间,有时这种情况会影响我们对界面的整体设计,那我们该怎么办呢?...我们可以使用:overflow-y: overlayoverflow的值为overlay,它的行为与auto相同的,但是在溢出时出现滚动条的展示方式有区分,overlay是覆在内容上面,它是不占位的。...我们以前也许都知道fixed定位是相对于浏览器窗口进行定位的,所以不管我们将fixed元素放在哪里,它都不会改变自己的定位基准,但是直到最近工作中遇到了一个问题,才打破了我的认知——原来fixed在某些条件下可以基于父元素定位...这里重点摘出这句话:当元素祖先的 transform, perspective 或 filter 属性非 none 时,容器由视口改为该祖先。 各位切记。

    40620

    重拾CSS规范之z-index

    一个页面我们平时看到的是平面的,我们感觉它就是一个水平面(二维)的东西。但是为什么元素互相之间覆盖,这就说明,它们在垂直方向上是有顺序的。...这就是为什么其他的没有层叠等级,因为 z-index 对它们无作用。层叠等级就是用来排资论辈的,等级高的在上面,等级低的在下面。但是,同一父级层叠上下文的层叠等级才有意义。...极易混淆易错点 子层叠上下文无法比父层叠上下文低 我们有时候会希望让子元素居于父元素下方,我们可能会立即想到给子元素设置一个比父元素更低的z-index,结果肯定得不到我们希望的效果。...它们是父子层叠关系,不是兄弟层叠上下文,所以不能通过 z-index 来比较它们的层叠等级。 那如何才能让子元素在父元素之下呢?让父元素不产生层叠上下文,并且让子元素 z-index 为负就可以了。...我们可以看到 .inner1 元素的 z-index 设置到了 9999 , .inner2 元素的 z-index 设置到了 0 ,但是后者就是覆盖了前者,为什么呢?为什么呢?

    1.1K30

    【CSS】清除浮动 ② ( 清除浮动 - 父级元素设置 overflow 样式 | overflow 属性样式效果 | 溢出隐藏效果 | 垂直进度条效果 | 水平垂直进度条效果 )

    文章目录 一、清除浮动 - 父级元素设置 overflow 样式 二、父级元素设置 overflow 样式代码示例 三、overflow 属性样式效果 1、没有设置 overflow 的效果 2、overflow...- 父级元素设置 overflow 样式 语法 : 选择器 { /* 清除浮动 - 父级元素设置 overflow 样式 */ overflow: hidden; } overflow...样式可设置的属性值 : hidden auto scroll 父级元素设置 overflow 样式 清除浮动 的优缺点 : 优点 : 代码简单 缺点 : 无法显示 溢出 的元素 , 如果 子元素 很多..., 不能自动换行 , 部分子元素会被隐藏 ; 二、父级元素设置 overflow 样式代码示例 ---- 在 没有设置 height 高度 , 并且内部子元素都是 浮动子元素 的 父级容器 中 , 设置...250px; height: 250px; background-color: red; } /* 父容器 2 - 父容器 1 的兄弟元素 */ .father2 {

    1.8K30

    Java 基础 | Collection 集合概览

    加之一直有回归基础的想法,所以想在业余时间复盘 java 的基础知识。知其然知其所以然是技术人的追求。 说到复盘基础,并不是所有的都会复盘,没那个时间更没那个必要。...比如,一些基础的语法以及条件语句,极度简单。这类是不需要复盘的。思前想后,我觉得整个计划应该从集合开始,而复盘的方式就是读源码。...这篇先简单介绍下集合的整体概览,之后会具体到集合里面每个实现类的源码解析。 1、Java 为什么要有集合? 首先,java 是一门面向对象语言,操作对象是我们的日常。...由上面的 Collection 接口框架图,我们可以知道 Collection 是 List、Set、Queue 的父接口,看到这里,你们可能会问,Map 哪去了?...中的所有元素都必须是指定枚举类型的枚举值,具体的这里先不做介绍,待我研究下用法以及场景,再专门介绍。

    44020

    搞定大厂算法面试之leetcode精讲8.滑动窗口

    无重复字符的最长子串 (medium) 方法1.滑动窗口 动画过大,点击查看 思路:滑动窗口不断向前,当前元素不在set中 就加入set 然后更新最大长度,i++继续下一轮循环,set中有重复元素不断让...j++ 并删除窗口之外的元素 直到滑动窗口内没有重复的元素 复杂度:时间复杂度O(n),n是字符串的长度。...= Math.max(maxLength, set.size); } else { //set中有重复元素不断让j++ 并删除窗口之外的元素 直到滑动窗口内没有重复的元素...最小覆盖子串 (hard) 方法1.滑动窗口 思路:用左右两个指针遍历s字符串,当滑动窗口中的字符不能覆盖t中的字符时,右指针右移,扩大窗口,把右边的字符加入滑动窗口,当滑动窗口中的字符能覆盖t中的字符时...,不断左移左指针,缩小窗口,直到窗口中的字符刚好能覆盖t中的字符,这个时候在左移就不能覆盖t中的字符了,在指针移动的过程中,不断更新最小覆盖子串 复杂度:时间复杂度o(n),n是s的长度,空间复杂度o(

    50750

    数据结构+算法(第10篇)叉堆“功夫熊猫”的速成之路

    为什么要引入二叉堆的调整算法来构造堆?相对于插入法构造堆,为什么更优? 为什么不论是调整法还是插入法来构造堆,都是自底向上进行遍历,而不是自顶向下? 采用调整法来构造堆,为什么时间复杂度是O(N)?...除了上图这种一般情况外,还有下图这种满二叉树的情况。不同的情况,“尾部”位置并不是固定的,有时在靠近树的右边,有时在靠近树的左边。 ?...: 数组第n号元素所代表的节点,它的父节点是数组的第floor_round(n/2)号元素。...下面我们换个角度、“一题多解”,看看能不能直接用动态规划来推出非递归算法。...可以看出: (1)整个轨迹分为两个维度——垂直维度和水平维度。 垂直维度:方向向上。紫色箭头表示向上调整到父节点一层; 水平维度:方向向左。紫色箭头表示向左调整到相邻的兄弟节点。

    79030
    领券