美文网首页我的javaSE
javaSE集合框架的迭代操作

javaSE集合框架的迭代操作

作者: 冒险小A | 来源:发表于2018-02-04 16:33 被阅读0次
集合的迭代操作 :
把集合中的元素一个一个遍历取出来
迭代器对象 :
Iterator : 迭代器对象,只能从上往下迭代.
boolean hasNext() : 判断当前指针后是否有下一个元素.
object next() : 获取指针的下一个元素并且移动指针.
ListIterator : 是Iterator接口的子接口,支持双向迭代.
Enumeration : 古老的迭代器(适用于古老的Vector类).
迭代
  • 方式一 : for循环 for循环
  • 方式二 : for each增强for循环 for each增强
  • 方式三 : 用while循环操作迭代器Iterator while+迭代器
  • 方式四(实用) : 用while循环操作迭代器 for+迭代器

深入分析for-each和迭代器 :

1. for-each可以操作数组 : 底层依然采用for循环+索引来获取数组元素.
2. for-each可以操作Iterable实例:底层采用的是Iterator(迭代器).

所以,直接用for-each来迭代数组和集合元素即可,简单.
for-each的语法格式:

for(类型 变量 : 数组名/Iterable实例){
//TODO
}
for-each操作数组
for-each操作集合

注意有例外↓

当需要变迭代集合元素,边删除指定元素时,使用for-each会发生异常.只能使用迭代器对象的remove方法..
编译后会出现如下异常: 并发修改异常

如何解决异常?

不要使用结合对象的删除方法(boolean remove(Object ele)).
要使用Iterator中的remove方法.
该方法会从两个线程中同时移除此元素,保证了两个线程的同步.
此时只能使用迭代器对象调用

相关文章

  • javaSE集合框架的迭代操作

    集合的迭代操作 : 迭代器对象 : 方式一 : for循环for循环 方式二 : for each增强for循环f...

  • 集合

    集合框架 迭代器 :Iterator 泛型机制 集合操作——线性表 Collections.sort()方法的调用...

  • JavaSE——集合框架

    声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互...

  • JavaSE—集合框架

    声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互...

  • javase(集合框架)

    1. 集合框架 为什么出现集合类?面向对象对事物的体现都是以对象的形式,为了方便对多个对象的操作,就对对象进行存储...

  • java集合框架List了解多少

    第1集 编程语⾔⾯试题之新版javase集合框架List基础篇简介:java集合框架⾥⾯List常⻅基础⾯试题考查...

  • JavaSE集合类

    JavaSE集合类 概述 Java中集合类概述Java中数组与集合的比较Java中集合框架层次结构 Collect...

  • 集合

    集合 Java集合框架 将集合的接口和实现分离 Collection接口 迭代器 泛型使用方法 集合框架中的接口 ...

  • 迭代器模式

    一. 什么是迭代器模式 迭代器模式: 用来遍历集合对象 (集合在这里也叫做容器) 迭代器模式, 将对集合的遍历操作...

  • 对比Vector、ArrayList、LinkedList的区别

    三者都实现了集合框架中的List,也就是所谓的有序集合,都提供按照位置进行定位、添加或者删除操作,都提供迭代器遍历...

网友评论

    本文标题:javaSE集合框架的迭代操作

    本文链接:https://www.haomeiwen.com/subject/jwemzxtx.html