这些是下面的代码中所涉及到的所有方法:* 迭代概述:*      集合是用来存储元素,存储的元素需要查看,那么就需要迭代(遍历)*      也就是说,迭代就是遍历* * public interface Iterator<E> 对 collection 进行迭代的迭代器* Iterator<E> iterator()返回在此 collection 的元素上进行迭代的迭代器* java.util 接口 Iterator<E>* * boolean hasNext()如果仍有元素可以迭代,则返回 true* * E next()返回迭代的下一个元素* * void remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)   
package com.wsq.bean;
//创建一个自定义Student类
public class Student {private String name;private int age;public Student() {super();}public Student(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setNaem(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {      //这里得重写toString方法return "Student [naem=" + name + ", age=" + age + "]";}}
package com.wsq.collection;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import com.wsq.bean.Student;
public class Demo5_Iterator {public static void main(String[] args) {demo1();                                //迭代已经提供好的String类对象demo2();                                //迭代一个自定义对象,自己创建类,然后创建对象存储集合里,然后迭代 }private static void demo2() {Collection c = new ArrayList();            //创建集合cc.add(new Student("张三",23));               //向集合c里面添加Student类对象即new Student("张三",23)c.add(new Student("李四",24));               //object obj = new Student("李四",24);  父类引用指向子类对象c.add(new Student("王五",25));               //由于多态的弊端导致obj不能调用子类特有的属性和行为c.add(new Student("赵六",26));Iterator it = c.iterator();                //获取迭代器,迭代的时候,获取到的都是Object类型while(it.hasNext()){                       //boolean hasNext()如果仍有元素可以迭代,则返回 true,进行循环判断集合是否还含有元素//System.out.println(it.hasNext());     //调用它的toString方法Student s = (Student)it.next();         //向下转型,由Object类向下转型成为Student类//当把Student对象给添加进来的时候,会进行一个类型的提升Student对象变成了Object类System.out.println(s.getName() + "..." + s.getAge()); //通过s就可以调用它的getName和getAge方法}
}public static void demo1(){               //迭代已经提供好的String类对象Collection c = new ArrayList();       //创建集合cc.add("a");                           //向集合c添加元素c.add("b");c.add("c");c.add("d");//对集合中的元素迭代(遍历)Iterator it = c.iterator();            //获取迭代器;获取迭代器之后,就可以使用迭代器里面的方法/*boolean b1 = it.hasNext();            //判断集合中是否有元素,有就返回trueObject obj1 = it.next();               //E next()返回迭代的下一个元素,通过next方法将那个元素给获取出来System.out.println(b1);                //很显然,集合c中有4个元素,a,b,c,d,所以输出结果为trueSystem.out.println(obj1);              //返回下一个元素,就是第一个元素,所以输出结果为 aboolean b2 = it.hasNext();            //判断集合中是否有元素,有就返回trueObject obj2 = it.next();               //E next()返回迭代的下一个元素,通过next方法将那个元素给获取出来System.out.println(b2);                //很显然,集合c中有4个元素,a,b,c,d,所以输出结果为trueSystem.out.println(obj2);              //返回下一个元素,这里就成为了第二个元素,所以输出结果为 b//通过这两次的输出,可以得出next方法可以将指针向后移动一位,第一次获取的是a,然后,又调用了一次next,第二次获取了b...//这样写太磨叽了,这里有4个元素,代码得重复4次,如果100个元素,那么这样写,代码会特别的磨叽*/while(it.hasNext()){                    //boolean hasNext()如果仍有元素可以迭代,则返回 true,进行循环判断集合是否还含有元素//通过while循环,利用hasNext这个方法来判断是否有元素System.out.println(it.next());      //有元素的话,调用next方法,调用一次,指针就会向后移动一次,然后输出该元素即可//E next()返回迭代的下一个元素,通过next方法将那个元素给获取出来}}
}

Java——集合的遍历之迭代遍历相关推荐

  1. Java集合篇:Map常用遍历方式 以及 性能对比

    一.Map集合常用的遍历方式: 遍历Map集合的常用方式有三种:使用keySet的方式,使用entrySet的方式,使用values()取值的方式,这三种方式中,都有对应的for循环遍历和Iterat ...

  2. 【代码随想录训练营】【Day14】第六章|二叉树|理论基础|递归遍历|迭代遍历|统一迭代

    理论基础 二叉树的定义形式有:节点指针和数组 在数组中,父节点的下标为i,那么其左孩子的下标即i*2+1,右孩子的下标即为i*2+2 二叉树的常见遍历形式有:前序遍历.后序遍历.中序遍历和层序遍历 前 ...

  3. python迭代遍历_迭代遍历思维

    迭代遍历思维 普通人的思维 这不是胡诌,也不是乱扯,普通人的思维与工程师的思维是不一样的,如果你想掌握一门编程语言,就必须像工程师那样去思考,否则,你永远只能是一个门外汉. lst = [3, 6, ...

  4. day11二叉树的遍历(递归遍历和迭代遍历)

    二叉树的迭代遍历有点难理解,需要手动多模拟模拟 1.二叉树的种类 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树. 完全二叉树的定义如下:在 ...

  5. java集合 HashMap的三种遍历方式

    前言: HashMap的集合中的比重是无可厚非的,由自身的数组+链表/红黑树构成的(JDK 1.8),这样使得HashMap优点表现出来: 数组查询效率快: 链表的插入和删除效率也加快 但是HashM ...

  6. java中set的遍历_java中遍历set集合,java中set怎么遍历?

    之前给大家介绍了一下java对set对象进行去重的方法,那么下面接着给大家介绍的就是java中遍历set集合方法的内容,一起来了解一下具体方法吧! java中遍历set的三种方式:对set的遍历 1. ...

  7. Java集合:set的遍历方式

    对 set 的遍历 1.迭代遍历: Set<String> set = new HashSet<String>(); Iterator<String> it = s ...

  8. java集合set遍历方法

    对 set 的遍历 1.迭代遍历: Set<String> set = new HashSet<String>(); Iterator<String> it = s ...

  9. 集合的遍历之迭代器遍历

    集合的遍历之迭代器遍历 A:迭代器概述 集合是用来存储元素,存储的元素需要查看,那么就需要迭代(遍历) B:案例演示 迭代器的使用 Collection c = new ArrayList();c.a ...

最新文章

  1. 武汉计算机组成原理八校联盟考试,武汉理工大学《计算机组成原理》在线练习及考试题目.doc...
  2. pycharm创建scrapy项目教程及遇到的坑
  3. UVALive 7143 Room Assignment(组合数学+DP)(2014 Asia Shanghai Regional Contest)
  4. binary masks_Python中的Masks概念
  5. (第十三周)评论Final发布II
  6. relative会脱离文档流吗_css position: absolute脱离文档流详解
  7. 基于Selenium的Web UI自动化实现(java)
  8. Learun,一款专注于业务,不用写代码的框架
  9. 每个程序员都应该给自己写本书
  10. 关于计算机学院 公众号的名字,好听的公众号名称大全
  11. WPS中的EXCEL冻结首行问题
  12. 前端显示和隐藏div的方法 / 判断
  13. Java学习之JavaFX安装
  14. 面试让我手写红黑树?!
  15. yum配置文件 重启后还原_电脑里重启后,重启前所有设置都还原到以前了,怎么办啊...
  16. SFFAI召集人蓄势待发!你准备好了吗?
  17. 道闸系统需不需要服务器,道闸车牌识别系统车辆进出场管理方案
  18. 小米十年,做不好售后
  19. 百知教育-胡鑫喆讲师-java-第一章07
  20. c++ vector转换成二维数组(C++ 函数返回二维数组)

热门文章

  1. java中的module是什么意思_Angular - 组件中module.id的含义是什么?
  2. 前后端分手大师——MVVM 模式
  3. 奇妙的 CSS shapes(CSS图形)
  4. 动态规划:从新手到专家
  5. .Net Core 部署到 CentOS7 64 位系统中的步骤
  6. HBase MapReduce
  7. 页面传值的方法 和JSON与字符串和对象之间的转换
  8. linux每天一小步---sed命令详解
  9. MariaDB 条件语句WHERE
  10. 自定函数获取datagrid,datalist,rpeater控件中header,footer栏中控件