迭代器方法:(把迭代器想象成抓娃娃机的爪子)

hasNext()     问是否有元素可遍历,如果有元素可以遍历,返回true,否则返回false

工作原理:这一个迭代的过程是这样的,获取到迭代器时候迭代器有个指针,初始时

      指向集合的第一个元素。然后一个个的按顺序遍历,最后移动到集合中没有元素了。

(这是看源代码看的)

next()     获取元素//如果判断有那么就用该方法开始抓,一次只能抓一个

工作原理:

void  remove()    移除迭代器最后一次返回的元素(看下面代码

  1. import java.util.ArrayList;
  2. import java.util.Collection;
  3. import java.util.Iterator;
  4.  
  5. public class EX10 {
  6.  
  7. public static void main(String[] args) {
  8.  
  9. Collection c = new ArrayList();
  10. c.add("狗娃");
  11. c.add("狗剩");
  12. c.add("铁蛋");
  13.  
  14. Iterator it = c.iterator();//返回一个迭代器
  15. System.out.println("师范有元素可以遍历? " + it.hasNext());
  16. while(it.hasNext()){
  17. System.out.println("获取元素:" + it.next());//一次一个
  18. }
  19.  
  20. System.out.println();
  21. Collection c1 = new ArrayList();
  22. c1.add("狗娃");
  23. c1.add("狗剩");
  24. c1.add("铁蛋");
  25.  
  26. Iterator it1 = c1.iterator();
  27. while (it1.hasNext()){
  28. it1.next();
  29. it1.remove();
  30. }
  31. System.out.println("移除之后的结果是:" + c1);
  32. //最后输出的是空集合
  33.  
  34. /*为什么iterator() 方法返回的是一个接口类型,为什么接口又可以调用方法?
  35. iterator 实际上是返回iterator 接口的实现类方法。
  36. 实际上是多态的应用:
  37. nterface Moeny{
  38. public void print();
  39. }
  40.  
  41. class Worker implements Moeny{
  42. @Override
  43. public void print() {
  44. System.out.println("工人正在赚钱");
  45. }
  46. }
  47.  
  48. class Demo {
  49. public static void main(String[] args) {
  50. Moeny m = test();
  51. m.print();
  52. }
  53. public static Worker test(){
  54. return new Worker();
  55. }
  56. }
  57.  
  58. */
  59. }
  60. }

java 集合2(迭代器)的更多相关文章

  1. Java集合中迭代器的常用用法

    该例子展示了一个Java集合中迭代器的常用用法public class LinkedListTest { public static void main(String[] args) { List&l ...

  2. Java集合Iterator迭代器的实现

    一.迭代器概述 1.什么是迭代器? 在Java中,有很多的数据容器,对于这些的操作有很多的共性.Java采用了迭代器来为各种容器提供了公共的操作接口.这样使得对容器的遍历操作与其具体的底层实现相隔离, ...

  3. Java 集合:迭代器(Iterator, Iterable)

    Iterator接口 public interface Iterator<E> { boolean hasNext(); E next(); void remove(); } 访问元素前需 ...

  4. 对JAVA集合进行遍历删除时务必要用迭代器

    java集合遍历删除的方法: 1.当然这种情况也是容易解决,实现方式就是讲遍历与移除操作分离,即在遍历的过程中,将需要移除的数据存放在另外一个集合当中,遍历结束之后,统一移除. 2.使用Iterato ...

  5. java集合迭代器

    一.Java中有一个设计模式是迭代器模式 1.迭代器模式定义迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示. 2.迭代器模式概述Java集合框 ...

  6. Java中的List集合和迭代器

    一.Java中的List集合. 终于有时间来好好整理一下Java中的集合. 首先要讲的就是List集合.Java中List集合主要将两个: 第一个是底层使用数组维护的ArrayList,第二个是底层是 ...

  7. JAVA集合中的迭代器的遍历

    JAVA中的迭代器,迭代实质上就是遍历,在JAVA中使用iterator()方法进行迭代.需要注意的是,iterator()方法的返回值是Iterator对象.Iterator对象有三个方法,hasN ...

  8. Java集合迭代器 Iterator分析

    简介 迭代器是遍历容器的一种常用方法,它屏蔽了容器的实现细节,无需暴露数据结构内部,就可以对容器进行遍历,迭代器本身也是一种设计模式,迭代是一种特殊的遍历方式. Iterator 在java中,迭代器 ...

  9. Java字符串String 集合的迭代器

    Java字符串String 我们知道Java的字符窜是Immutable(不可变)的,一旦创建就不能更改其内容了:平常我们对字符串的操作是最多的,其实对字符串的操作,返回的字符串都是新建的字符串对象, ...

  10. JAVA基础——集合Iterator迭代器的实现

    一.迭代器概述 1.什么是迭代器? 在Java中,有很多的数据容器,对于这些的操作有很多的共性.Java采用了迭代器来为各种容器提供了公共的操作接口.这样使得对容器的遍历操作与其具体的底层实现相隔离, ...

随机推荐

  1. 各操作系统配置java环境变量

    Windows 1. JAVA_HOME -->>  E:\java-tools\Java\JDK8_64\jdk1.8.0_77 2. path -->> %JAVA_HOM ...

  2. 【Web】写个HTML页面去调试HTTP接口方便些

    现在越来越多的系统基本SOA的思想,业务由许多小系统通过远程调用的方式串连起来,其中HTTP的接口在远程调用的方式中颇为常见.看过一些开发人员写完一些接口后,要么按照正常情况调用几次就交给调用方,要么 ...

  3. HDU 5688 Problem D map

    Problem D Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  4. ASP.NET文件的上传下载提交分页

    <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" Auto ...

  5. 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

    package C; public class Bisai { public static void main(String[] args) { String a="xyz",b= ...

  6. HTML5媒体

    1.视频格式 格式 文件 描述 AVI .avi AVI (Audio Video Interleave) 格式是由微软开发的.所有运行 Windows 的计算机都支持 AVI 格式.它是因特网上很常 ...

  7. iOS开发学习笔记:基础篇

    iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...

  8. git commit时message的问题

    1: 在执行git commit的时候,有两种办法为该commit添加message信息一种是git commit -m 'your message'另一种是git commit会打开commit-e ...

  9. Java——FIle:

    1.读取文件夹中的文件 /** * 读取图片文件 * @param imgPath 文件所在的文件夹绝对路径 * @return * @throws FileNotFoundException */ ...

  10. 《Linux内核设计的艺术》学习笔记(四)默认段和偏移寄存器

    参考书籍:<Intel微处理器> 表1 默认的16位段 + 偏移寻址组合 段 偏移量 特殊用途 CS IP 指令地址 SS SP或BP 堆栈地址 DS BX.DI.SI.8位或16位数 数 ...