知识碎片
lsl645031854
这个作者很懒,什么都没留下…
展开
-
for循环与迭代器效率对比
效率对比a)、ArrayList对随机访问比较快,而for循环中使用的get()方法,采用的即是随机访问的方法,因此在ArrayList里for循环快。b)、LinkedList则是顺序访问比较快,Iterator中的next()方法采用的是顺序访问方法,因此在LinkedList里使用Iterator较快。c)、主要还是要依据集合的数据结构不同的判断。记录的存取方式有两种:a)、一种是顺序存储(数组,ArrayList…)可以根据其下标找到对应的记录b)、另一种是链接存储(LinkedL原创 2020-09-23 20:47:39 · 3220 阅读 · 0 评论 -
Fail-Fast机制
Fail-Fast 快速失败机制在遍历集合的过程中,遍历过程中集合的结构发生改变(新增或删除)时,会抛出ConcurrentModificationException异常。这就是快速失败机制。// 1.iterator迭代,抛出ConcurrentModificationException异常Iterator<String> iterator = list.iterator();while (iterator.hasNext()) { String s = iterator.ne原创 2020-09-23 20:23:24 · 177 阅读 · 0 评论 -
迭代器
迭代器迭代器可以理解为指针,读取集合或者数组中的一个值,读完以后又指向下一条数据。1. Iterator接口迭代器在迭代期间可以从集合中移除元素。boolean hasNext(); // 如果仍有元素可以迭代,则返回 trueE next(); // 返回迭代的下一个元素(取值)void remove() //从迭代器指向的 collection 中移除迭代器返回的最后一个元素2. Iterable接口Iterable接口包含一个能产生Iterator对象的方法,原创 2020-09-23 19:55:03 · 152 阅读 · 0 评论 -
重写equals方法
一、重写equals()方法的原则对称性:如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是 “true”。自反性:x.equals(x)必须返回是“true”。传递性:如果x.equalsly)返回是“true”,而且y.equals(z)返回是“true”,那么z.equals(x)也应该返回是“true”。一致性:如果x.equals(y)返回是“true”,只要x和y内容一直不变,不管重复x.equals(y)多少次,返回结果都是“true”。原创 2020-09-23 10:27:50 · 180 阅读 · 0 评论