【友情链接】———–—>Java中的各种集合大汇总,学习整理
【友情链接】————–> Collection集合
【友情链接】————–> ArrayList集合及其常用功能
【友情链接】————–> ArrayList应用<两大案例的数据分组聚合>
【友情链接】———–—> Iterator迭代器
【友情链接】———–—>List集合 & LinkedList集合 & Vector集合
【友情链接】———–—>set集合 & HashSet集合 & 哈希值& LinkedHashSet集合 &TreeSet集合&可变参数
【友情链接】———–—>Map集合 & HashMap集合 & LinkedHashMap集合&HashTable集合
【友情链接】———–—>Collections类集合工具类


迭代器

在开发过程中,我们经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口 java.uti1.Iterator
Iterator 接口也是Java集合中的一员,但它与collection、Map接口有所不同,Collection 接口与Map接口主要用于存储元素,而 Iterator主要用于迭代访问(即遍历) collection 中的元素,因此Iterator对象也被称为迭代器。

迭代器的功能

首先我们来了解下什么是“迭代”?

迭代: 指Collection集合元素的通用获取方式。那么,在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,然后继续再判断,如果还有就再取出来,直到把集合中的所有元素都全部取出。这种取出方式专业术语称为迭代。l

java.utiL.iterator接口  也称为“迭代器”(作用:对集合进行遍历)

迭代器有两个常用的方法:

  1. boolean hasNext() 如果仍有元素可以迭代,那么返回true。
    //判断集含中还有没有下一个元素,有就返回true,没有就返回false
  2. E next() 返回迭代的下一个元素。
    // 取出集合中的下一个元素

注意:
Iterator迭代器,它是一个接口,无法直挨使用,需要使用 Iterator接口的实现类对象,而获取实现类的方式比较特殊,Collection接口中有一个方法iterator(),这个方法返回值,就是迭代器的实现类对象。

Iterator<E> iterator()
//返回在此collection集合的元素上进行迭代的迭代器。

迭代器的使用步骤:

  • 1.使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
  • 2.使用Iterator接口中的方法hasNext判断还有没有下一个元素
  • 3.使用Iterator接口中的方法next取出集合中的下一个元素
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class iterator {public static void main(String[] args) {//首先创建集合对象,可以使用多态Collection<String> collection = new ArrayList<>();//向集合中添加元素((ArrayList<String>) collection).add("成德善");((ArrayList<String>) collection).add("成宝拉");((ArrayList<String>) collection).add("崔泽");((ArrayList<String>) collection).add("金正换");((ArrayList<String>) collection).add("成善宇");((ArrayList<String>) collection).add("珍珠");((ArrayList<String>) collection).add("刘东龙");System.out.println(collection);/**  1.使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator挨口接收(多态)*  注意:Iterator<E>接口是有泛型的,其泛型与与集合一致* *///  接口                          实现类对象       这就是一个多态Iterator<String> iterator = collection.iterator();//  2.使用Iterator接口中的方法hasNext判断还有没有下一个元素boolean hasNext = iterator.hasNext();System.out.println("hasNext:\t"+hasNext);//   3.使用Iterator接口中的方法next取出集合中的下一个元素String next = iterator.next();System.out.println(next);System.out.println("_______________________");//使用循环来进行集合中的所有元素输出打印,//使用while()循环简单方便while (iterator.hasNext()){//iterator.hasNext()当返回值为false,结束循环System.out.println(iterator.next());}System.out.println("_______________________");// 其实for循环也可以写,但是呢比while()有点繁琐for (Iterator<String> iterators = collection.iterator(); iterators.hasNext() ; ){System.out.println(iterators.next());}}
}

增强for循环

增强for循环(也称for each循环),是JDK1.5以后出来的一个高级for循环,是专门用来遍历数组和集合的。它的内部原理其实是个 lterator 迭代器,所以在遍历的过程中,能对集合中的元素进行增删操作。

  • collection < E > extends Iterable; 所有的单列集合都可以使用增强for
  • public interface Iterable 实现这个接口允许对象成为“for each”语句的目标。
/*
格式:
for(集合/数组的数据类型变量名:集合名/数组名){System.out.println(变量名);
}
*/
for (String i:collection){System.out.println(i);}

【小白学Java】D20》》》Iterator迭代器 增强for循环相关推荐

  1. JavaSE Collections类 , Iterator迭代器 , 增强for循环

    Collections 它是集合的工具类,为集合体系扩展了一些其他的方法.类中都是静态的方法,可以使用类名直接调用. 可变参数 在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类 ...

  2. 新手小白学JAVA 分支结构 switch结构 for循环

    1 分支结构 1.1 概述 顺序结构的程序虽然能解决计算.输出等问题 但不能做判断再选择.对于要先做判断再选择的问题就要使用分支结构 1.2 形式 1.3.1 练习:商品打折案例 创建包: cn.te ...

  3. 小白学Java 第14课:do while 循环

    [相关链接] 上一篇:小白学Java 第13课:while 循环 下一篇:小白学Java 第15课:方法介绍与调用 总纲:返回列表 上节课我们学习了while循环,他的结构格式为: while(条件) ...

  4. 2021-06-19复习java Collection集合 Iterator接口_迭代器 增强for循环 泛型

    2021-06-19复习java Collection集合 Iterator接口_迭代器 增强for循环 泛型 Collection集合 java.util.coLlection接口 所有单列集合的最 ...

  5. 小白学JAVA之十七——集合类库

    小白学JAVA之十七--集合类库 一. 集合 1.1 集合的由来 当需要在Java程序中记录单个数据内容时,则声明一个变量. 当需要在Java程序中记录多个类型相同的数据内容时,声明一个一维数组. 当 ...

  6. 零基础小白学Java难度大不大

    零基础小白学Java难度大不大?有很多人都是非常关心这个问题的,如今java在IT互联网行业的快速发展,引起了很多人的注意,那么,哪些人适合入行Java?零基础学习Java难度大吗?下面,小编就为大家 ...

  7. 小白学Java Web 3 Web前端之CSS基本知识2

    这一篇接着上一篇的内容来分享,上一篇还有大量的样式属性没有列出,不过在继续分享之前,我想先来分享一下关于网页的布局相关的一些东西,因为下一篇我打算分 享用仅仅前面三小篇的内容来制作一个简单的静态网页, ...

  8. java编程好学么_零基础小白学Java编程好学吗

    Java是一门不会衰落的开发语言,伴随着IT行业的兴起,目前学习java培训的人员也是变得更多了,但要想学好java的话通过自学是没有那样非常容易的事情.尤其是对于初学者的学生而言,那么零基础小白学J ...

  9. java零基础多久能学会_小白学java大概需要多久 零基础学起来难么

    这取决于每天学习的时间.如果你每天花2-3个小时学习,大约需要半年时间.更重要的是,这取决于你学了多少.如果你想学一门基础知识,只需要几个月.如果你想深入学习,熟悉它,需要一年.两年甚至三五年的时间. ...

最新文章

  1. Struts2中表单与Action传递数据三种方式
  2. SharePoint 2013/2010 中的日历重合 (Calendars Overlay)
  3. ubuntu 16.04 连接 阿里云服务器
  4. Resin 优化配置
  5. spring项目搭建-约束引入
  6. 2019 Android 高级面试题总结 从java语言到AIDL使用与原理
  7. 现代人的压力和焦虑_设计师如何建立减少焦虑和压力的体验
  8. Koa入门教程之示例应用
  9. (转)invalidate()和postInvalidate() 的区别及使用
  10. 达梦系统录音服务器是哪个,达梦服务器安装及使用教程
  11. 存储过程系列之存储过程sql数据库调用和程序代码调用
  12. OSPF1-5类LSA
  13. python get rect 函数_Pygame:如何正确使用get_rect()
  14. 分支定界法(matlab实现)
  15. 大白话C++:新手入门教程(附源码及详解、视频课程资料推荐)
  16. 记录win10无法通过IE浏览器设置受信任的站点的几种方法
  17. 电话机上面的接头RJ11
  18. activity串行多实例会签
  19. 企微有客户流失提醒功能吗?如何设置?
  20. 倾城Q码 倾城梦网 掌上投洽会 掌上6 18首页

热门文章

  1. Axure旋转原件或图片
  2. 南京审计大学计算机考研专业课答案
  3. ubuntu16.04 update 出现 aborted(core dumped)错误
  4. 这世界就是,一些人总在昼夜不停地运转,而另外一些人,起床就发现世界已经变了。...
  5. 学习笔记2018-10-26 读论文A single algorithm to retrieve turbidity from remotely-sensed data in all coastal
  6. delphi获取外网IP
  7. 【转】计算机分类经典书籍推荐
  8. PlantUML 之时序图
  9. PySide2学习总结(十二)打开文件对话框--FileDialog
  10. 如何在AppSec测试中处理SAST FPs