java 集合2(迭代器)
迭代器方法:(把迭代器想象成抓娃娃机的爪子)
hasNext() 问是否有元素可遍历,如果有元素可以遍历,返回true,否则返回false
工作原理:这一个迭代的过程是这样的,获取到迭代器时候迭代器有个指针,初始时
指向集合的第一个元素。然后一个个的按顺序遍历,最后移动到集合中没有元素了。
(这是看源代码看的)
next() 获取元素//如果判断有那么就用该方法开始抓,一次只能抓一个
工作原理:
void remove() 移除迭代器最后一次返回的元素(看下面代码
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.Iterator;
- public class EX10 {
- public static void main(String[] args) {
- Collection c = new ArrayList();
- c.add("狗娃");
- c.add("狗剩");
- c.add("铁蛋");
- Iterator it = c.iterator();//返回一个迭代器
- System.out.println("师范有元素可以遍历? " + it.hasNext());
- while(it.hasNext()){
- System.out.println("获取元素:" + it.next());//一次一个
- }
- System.out.println();
- Collection c1 = new ArrayList();
- c1.add("狗娃");
- c1.add("狗剩");
- c1.add("铁蛋");
- Iterator it1 = c1.iterator();
- while (it1.hasNext()){
- it1.next();
- it1.remove();
- }
- System.out.println("移除之后的结果是:" + c1);
- //最后输出的是空集合
- /*为什么iterator() 方法返回的是一个接口类型,为什么接口又可以调用方法?
- iterator 实际上是返回iterator 接口的实现类方法。
- 实际上是多态的应用:
- nterface Moeny{
- public void print();
- }
- class Worker implements Moeny{
- @Override
- public void print() {
- System.out.println("工人正在赚钱");
- }
- }
- class Demo {
- public static void main(String[] args) {
- Moeny m = test();
- m.print();
- }
- public static Worker test(){
- return new Worker();
- }
- }
- */
- }
- }
java 集合2(迭代器)的更多相关文章
- Java集合中迭代器的常用用法
该例子展示了一个Java集合中迭代器的常用用法public class LinkedListTest { public static void main(String[] args) { List&l ...
- Java集合Iterator迭代器的实现
一.迭代器概述 1.什么是迭代器? 在Java中,有很多的数据容器,对于这些的操作有很多的共性.Java采用了迭代器来为各种容器提供了公共的操作接口.这样使得对容器的遍历操作与其具体的底层实现相隔离, ...
- Java 集合:迭代器(Iterator, Iterable)
Iterator接口 public interface Iterator<E> { boolean hasNext(); E next(); void remove(); } 访问元素前需 ...
- 对JAVA集合进行遍历删除时务必要用迭代器
java集合遍历删除的方法: 1.当然这种情况也是容易解决,实现方式就是讲遍历与移除操作分离,即在遍历的过程中,将需要移除的数据存放在另外一个集合当中,遍历结束之后,统一移除. 2.使用Iterato ...
- java集合迭代器
一.Java中有一个设计模式是迭代器模式 1.迭代器模式定义迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示. 2.迭代器模式概述Java集合框 ...
- Java中的List集合和迭代器
一.Java中的List集合. 终于有时间来好好整理一下Java中的集合. 首先要讲的就是List集合.Java中List集合主要将两个: 第一个是底层使用数组维护的ArrayList,第二个是底层是 ...
- JAVA集合中的迭代器的遍历
JAVA中的迭代器,迭代实质上就是遍历,在JAVA中使用iterator()方法进行迭代.需要注意的是,iterator()方法的返回值是Iterator对象.Iterator对象有三个方法,hasN ...
- Java集合迭代器 Iterator分析
简介 迭代器是遍历容器的一种常用方法,它屏蔽了容器的实现细节,无需暴露数据结构内部,就可以对容器进行遍历,迭代器本身也是一种设计模式,迭代是一种特殊的遍历方式. Iterator 在java中,迭代器 ...
- Java字符串String 集合的迭代器
Java字符串String 我们知道Java的字符窜是Immutable(不可变)的,一旦创建就不能更改其内容了:平常我们对字符串的操作是最多的,其实对字符串的操作,返回的字符串都是新建的字符串对象, ...
- JAVA基础——集合Iterator迭代器的实现
一.迭代器概述 1.什么是迭代器? 在Java中,有很多的数据容器,对于这些的操作有很多的共性.Java采用了迭代器来为各种容器提供了公共的操作接口.这样使得对容器的遍历操作与其具体的底层实现相隔离, ...
随机推荐
- 2016 Al-Baath University Training Camp Contest-1 C
Description Rami went back from school and he had an easy homework about bitwise operations (and,or, ...
- 在WIn32程序中使用MFC的CInternetSession运行异常,主要是因为获取目前应用程序名出错的解决办法
转载:http://group.gimoo.net/review/22564 头文件#include <afxinet.h"> 在非MFC工程中使用CInternetSessio ...
- 修改 OWA 修改密码的生效时间
从 Exchange 中文站之前的文章配置 OWA 下次登录时更改密码中, 我们知道在 Exchange 2010 SP1 当中是可以配置在 OWA 中修改域用户的密码的,那么不知道你是否有发现,当用 ...
- js对cookie的操作,包括增,取,删
在其他人都开会到时间里,我偷偷摸哦的试了一下cookie,唉,从来没有用过cookie,慢慢的知识忘光了,还好这次偷偷摸摸的做出来了,虚,大家都别出声啊 <!DOCTYPE html> & ...
- JDBC操作Oracle数据库——实际操作过程中的小总结
1.对数据库中,表的每一行数据记录的增删改查 增:insert into 表名 values() 删:delete 表名 where 条件(id=?) 改:update 表名 set 列名=? whe ...
- MemSQL Start[c]UP 2.0 - Round 1(无聊练手B题)
http://codeforces.com/contest/452/problem/B B. 4-point polyline time limit per test 2 seconds memo ...
- 用Jenkins+Gradle+Jetty实现持续集成、测试、部署
自动集成有很多种方案,本例用到的工具是Jenkins(前身Hudson)+Gradle+Jetty,关于Gradle可参考上一篇,Gradle常见问题. 本例项目名称: WAP Jetty 安装Jen ...
- php 判断 xml 里是否存在某个节点
参考网址:http://blog.csdn.net/crazyboy2005/article/details/6114454 DOMDocument中,怎样判断某节点是否存在呢? /* $xml-&g ...
- iOS - ImageCache 网络图片缓存
1.ImageCache 使用内存缓存方式: 使用沙盒缓存方式: 使用网络图片第三方库方式: SDWebImage: iOS 中著名的网络图片处理框架 包含的功能:图片下载.图片缓存.下载进度监听.g ...
- CSS规范之BFC & IFC
元素是文档结构的基础,在CSS中,每个元素生成了一个包含了元素内容的框(box,也译为"盒子").但是不同的元素显示的方式会有所不同,例如<div>和<span& ...