Arraylist底层是基于动态数组,根据下表随机访问数组元素的效率高,向数组尾部添加元素的效率高;但是,删除数组中的数据以及向数组中间添加数据效率低,因为需要移动数组。例如最坏的情况是删除第一个数组元素,则需要将第2至第n个数组元素各向前移动一位。
Linkedlist基于链表的动态数组,数据添加删除效率高,只需要改变指针指向即可,但是访问数据的平均效率低,需要对链表进行遍历。
总结:1、对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 对于新增和删除操作add和remove,LinedList比较占优势,因为Arra
...
vue组件之间8种组件通信方式总结
对于vue来说,组件之间的消息传递是非常重要的,下面是我对组件之间消息传递的各种方式的总结,总共有8种方式。
- 1
props和$emit
- 2
$attrs和$listeners
- 3
中央事件总线
- 4
provide和inject
- 5
v-model
- 6
$parent和$children
- 7
boradcast和dispatch
- 8 vuex处理组件之间的数据交互
JS基础(十)DOM0和DOM2级事件
JS中的DOM0和DOM2事件
JS中的事件基础及核心原理以及项目实战
事件的定义
事件
:元素天生具备的行为方式(和写不写JS代码没有关系)【onclick不是事件,click才是事件,浏览器会把一些常用事件挂载到元素对象的私有属性上,让我们可以实现DOM0事件绑定】,当我们去操作元素的时候会触发元素的很多事件事件绑定
:给当前元素的某个事件绑定方法,目的是让当前元素某个事件被触发时,做出一些反应
事件绑定的两种方法
- DOM0级事件绑定
- curEle.onclick=function(){};
- DOM2级事件绑定
- 标准浏览器:curEle.addEventListener(‘click’,function(){},false)
- IE6-8:curEle.attachEvent(‘onclick’,function(){})
JS基础(九)定时器
JS中的定时器&&动画&&同步异步编程
定时器
设置一个定时器并设定一个等待时间,当到达时间,执行指定要完成的事情;JS中的定时器一共有两种:
window.setTimeout(执行一次)
window.setTimeout(function,[interval]):设置了一个定时器,当到达指定时间后执行对应的方法(执行一次定时器就结束了);(第一个参数是函数,第二个参数是时间,a单位都是毫秒,自己不需要加单位,17是个比较理想的时间)
1 | window.setTimeout(function(){ |
[interval]:时间因子,需要等待的时间
window.setInterval(执行多次)
window.setInterval(function,[interval]):设置一个定时器,当达到指定时间后执行对应的方法(以后每隔这么长时间就重新执行这个方法,直到定时器清除为止,执行很多次)
1 | var n=0; |