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

问题描述

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

collection接口的iterator方法返回类型是接口类型,怎么理解?

解决方案

这很正常,你直接用接口调用里面的方法就可以了。你不用关心具体实现接口的类是哪个。

解决方案二:

就好比计算机提供USB接口,你插上打印机、扫描仪、手机、U盘都可以,计算机认这个接口,而不管具体你是什么设备插进来了。

如果计算机不是提供USB接口,而是打印机一个口、扫描仪一个口、手机一个口……(别忘了光手机还有很多种呢),那多么麻烦。

一个道理,程序如果返回的不是接口,而是具体类型,你的调用端还得先判断是什么类型,然后定义这个类型的变量接收,才能调用。更糟糕的是,有时候你的主程序先写好(比如插件程序),那么你的主程序根本不可能事先知道是什么类型。

解决方案三:

是指向一个实现了该接口的类,就好比父类引用指向子类对象。

解决方案四:

不是太明白你的问题,接口类型又如何呢。
实现collection接口的对象返回一个实现了Iterator接口的对象,通过返回的Iterator对象提供的各种方便的方法来操作集合。

解决方案五:

Iterator是用来取出集合中的元素,对于不同的集合取出的方法也不样,所以就定义了一个接口Iterator,让不同的集合在内部去实现Iterator,collection接口的iterator方法返回类型内部实现了Iterator,

解决方案六:

JavaSE中 用于遍历的

解决方案七:

直接调接口的方法难道有问题吗?

解决方案八:

原理是接口的回调,调用实现类中的接口方法,返回接口对象。楼主可以百度下接口的回调。

解决方案九:

Collection接口基本方法

时间: 2024-11-26 18:01:58

java-collection接口的iterator方法返回类型?的相关文章

子类方法返回类型必须和父类相同,抛出的异常声明可以小于或等于父类

Overload译为重载:Override译为重写或者覆盖:  Overload讨论: Java中同一个类不可以有两个相同的方法(方法名.参数类型.参数个数和参数位置都  相同).但可以有方法名相同,参数不同(参数类型.参数个数和参数位置不相同)的方法.这  种相同的方法名,参数不同的方法称为重载. public class Test { public void fn(String name) {} public void fn(int age) {} public void fn(String

webservice接口-java webService接口实现查询数据库返回一个XML

问题描述 java webService接口实现查询数据库返回一个XML java webService接口实现查询数据库返回一个XML,用dom4j去操作XML, 解决方案 查询返回的数据库数据,然后用XML类库构建成XML格式的数据返回web api 解决方案二: 接口实现类怎么写方法查询数据库数据,xml返回表字段?

webservice-WebService中方法返回类型为Map时发布报错

问题描述 WebService中方法返回类型为Map时发布报错 发布时报错: 解决方案 webservice返回的应该是json格式吧.你MAP格式要转换成json 解决方案二: webservice返回的是xml格式的soap消息吧.现在的情况是发布webservice的时候报错

方法返回类型一问,多谢

问题描述 一般方法返回类型痿void的时候,我习惯这么写:public void xxx(){ //...内容省略.......}而现在看别人的代码,总是这样写的:public void xxx(){ //...内容省略....... return:}加了一条空的rerun语句,仍然不返回请问:加上一条语句return:有什么好处吗?如果没有好处的话,又为什么要加它呢?多谢!问题补充:TO:stephen830 我主要问的就是# public void xxx(){ # //...内容省略...

方法返回类型直接用object合理吗?

问题描述 假如我有一个方法获取回来的数据可能是int,string或者boolean类型的,如果我把这个方法的返回类型固定,那么就要写publicintgetInt(),publicStringgetString(),publicbooleangetBoolean()三个方法,但是如果我把返回类型写成object,那么我只要写一个ObjectgetObject方法就可以了,使用的时候都知道需要什么类型,比如我需要返回int类型,那么我就写成inti=(Integer)getObject()就可以

Java 集合之Collection 接口和遍历方法

这几篇是我按网上的教程来实习的. URL: http://www.cnblogs.com/jbelial/archive/2013/03/27/2981395.html 打代码的感觉挻好的.. 注意在遍历Collection类时,JDK 1.5 提供的 foreach 循环来代替访问集合元素更加便捷: 注意:当使用Iterator 来访问 Collection 集合元素时,Collection 集合里面的元素不能被改变(不可通过集合对象的方法操作集合中的元素,会发生异常).只能通过Iterato

java 的Collection接口实例详解_java

1. Collection是集合类的一个顶级接口,其直接继承接口有List与Set. Collection     |--List:元素是有序的,元素可以重复.因为该集合体系有索引.         |--ArrayList:底层的数据结构使用的是数组结构.特点:查询速度很快.但是增删稍慢.线程不同步.         |--LinkedList:底层使用的链表数据结构.特点:增删速度很快,查询稍慢.线程不同步.         |--Vector:底层是数组数据结构.线程同步.被ArrayLi

arraylist-JAVA小白问题:测试Iterable接口的Iterator迭代器方法时遇到的疑问

问题描述 JAVA小白问题:测试Iterable接口的Iterator迭代器方法时遇到的疑问 创建个Arraylist集合,放几个数据,然后用迭代器循环遍历,同时想做个判断,如果等于指定的数值的数据出现了,就删除它,继续迭代别的元素,单独用remove删除方法没问题,但把它和next方法合起来用,就报错了,求解,谢谢! 解决方案 既然你自己也标注了正确的和错误的,我给你提一下,你这里有三个点: 分别是,it.hasnext(),第一个it.next(),第二个next. 先解释一下it.hasn

Java方法的参数和返回类型统一为Map是否合理?

问题描述 开发一个Web应用. 主管要求 所有业务逻辑的Java方法参数和返回类型必须统一为Map类型.理由是将来扩展时接口不用修改.而且有多返回值的方法也好处理但是这样一来.返回一个String都要写成 Map resultMap = doXXXXX(paramMap);String result = (String)resultMap.get("resultStr");返回一个VOMap resultMap = doXXXXX(paramMap);XXXXVO resultVO =