Collection 与iterator接口

import java.util.*;
/**
* Collection 与iterator接口
*
*
**/
public class TestCollection
{
 &nbsppublic static void main(String args[])
  {
     ArrayList v = new ArrayList();
   &nbspint b = 0;
   &nbspSystem.out.println("please input the number:");
   &nbspwhile(true)
    {
   &nbsptry
    {
     &nbspb = System.in.read();
    }
   &nbspcatch(Exception e)
    {
       &nbspe.printStackTrace();
    }
   &nbspif(b=='\r' || b=='\n')
    {
     &nbspbreak;
    }
   &nbspelse
    {
     &nbspint num = b -'0';
     &nbspv.add(new Integer(num));
    }
    }
   &nbspint sum = 0;
   &nbspIterator e = v.iterator();
   &nbspwhile(e.hasNext())
    {
     &nbspInteger intObj = (Integer)e.next();
     &nbspsum += intObj.intValue();
    }
   &nbspSystem.out.println(sum);    }
}

时间: 2024-10-24 19:22:17

Collection 与iterator接口的相关文章

Java类集--Iterator接口、ListIterator接口、foreach及Enumeration接口

Iterator接口简介: import java.util.List ; import java.util.ArrayList ; import java.util.Iterator ; public class IteratorDemo01{ public static void main(String args[]){ List<String> all= new ArrayList<String>() ; // all.add("hello") ; all

java 容器与Iterator接口详细分析使用

iterator接口: 所以实现了collection接口的容器类都有一个iterator方法用以返回一个实现了iterator接口的对象. iterator对象称作迭代器,用以方便的实现对容器内元素的遍历操作. iterator接口定义了如下方法:  boolean hasnext(); //判断游标右边是否有元素object next(); //返回游标右边的元素并将游标移动到下一位置void remove(); //删除游标左边的元素,在执行next之后该操作只能执行一次   练习:  

关于Iterator接口的疑问,接口中的抽象方法是何时被实现的

问题描述 JDK api文档里面对Iterator定义的是一个接口,里面有几个常用方法.接口我的理解是一个特殊的类,里面的方法都是定义好未实现的抽象方法.但为什么调用HashSet里面的iterator()方法后,返回Iterator对象,就可以使用这个对象里面的方法了.方法不是抽象的么,是什么时候被实现了呢?还是Iterator本身是个接口,又是个实体类(api中没找到是个实体类)? 这个疑问是在看Map接口中,如何输出Map中的内容时产生的,代码如下:Map<String,Integer>

java Iterator接口 hasNext() 问题

问题描述 Collectionhs=newHashSet();hs.add(..........);Iteratori=hs.iterator();while(i.hasNext()){..........}问题出来了,接口中的方法都是没实现的抽象方法,Iterator接口中的hashNext()方法究竟是被那个类重写了呢?找api找了半天也没找到.AllKnownImplementingClasses:BeanContextSupport.BCSIterator,EventReaderDele

Java中Collection遍历中删除、合并元素

我的分词结果链表需要合并连续的数字和日期,所以需要熟悉一下Java Collection在遍历的过程中同时删除.合并元素的小trick.自己试验了一下,活用listIterator的previous()和next()方法就可以达到目的. 遍历中删除 数据集 List<Integer> integerList = new LinkedList<Integer>(); for (int i = 1; i <= 10; ++i) {     integerList.add(i);

java学习笔记11--集合总结

Java集合框架概述 集合就是将若干用途相同.近似的"数据"结合成一个整体. 集合从体系上分为三种: (1) 列表(List):List集合区分元素的顺序,允许包含相同的元素. (2) 集(Set):Set集合不区分元素的顺序,不允许包含相同的元素. (3) 映射(Map):Map集合保存的"键"-"值"对,"键"不能重复,而且一个"键"只能对应一个"值". Java集合中只能保存引用数

Iterator、Iterable接口的使用及详解

Java集合类库将集合的接口与实现分离.同样的接口,可以有不同的实现. Java集合类的基本接口是Collection接口.而Collection接口必须继承java.lang.Iterable接口. 以下图表示集合框架的接口,java.lang以及java.util两个包里的.其他部分可以从左向右看,比如Collection的Subinterfaces有List,Set以及Queue等. package java.util; /** * An iterator over a collectio

java-collection接口的iterator方法返回类型?

问题描述 collection接口的iterator方法返回类型? collection接口的iterator方法返回类型是接口类型,怎么理解? 解决方案 这很正常,你直接用接口调用里面的方法就可以了.你不用关心具体实现接口的类是哪个. 解决方案二: 就好比计算机提供USB接口,你插上打印机.扫描仪.手机.U盘都可以,计算机认这个接口,而不管具体你是什么设备插进来了. 如果计算机不是提供USB接口,而是打印机一个口.扫描仪一个口.手机一个口--(别忘了光手机还有很多种呢),那多么麻烦. 一个道理

接口-关于Iterator设计模式的问题

问题描述 关于Iterator设计模式的问题 正如上图所示,有点小疑问.如果我现在想在ArrayList产生的迭代器上增加一个LinkedList 不能实现的方法,此时,方法肯定不能再Iterator抽象接口处增加,那我应该在什么地方 增加这个方法?应该如何增加这个方法? 解决方案 ArrayList的迭代器作为父类,再生成一个子类添加方法 解决方案二: 我的意思是这样的,如果利用迭代器模式,那么在客户端的代码应该是这样的: List myList = new ArrayList(); Iter