迭代器:遍历集合元素的操作. iterator()
package seday11;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* @author xingsir
* 遍历集合元素:Collection提供统一遍历集合元素的操作:迭代器模式
* Iterator iterator(),该方法会返回一个用于遍历该集合的迭代器,使用这个迭代器便可以遍历当前集合元素。
* java.util.Iterator接口 ,它是所有迭代器的顶级接口,不同的集合都实现了一个用于遍历自身元素的迭代器实现类。
* 迭代器遍历集合遵循的原则为:问,取,删其中删除元素不是遍历过程中的必要操作。
*/
public class IteratorDemo {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("A");
c.add("-");
c.add("B");
c.add("-");
c.add("C");
c.add("-");
c.add("D");
c.add("-");
c.add("E");
System.out.println(c);
Iterator i = c.iterator();//获取迭代器
/*
* boolean hasNext()判断集合是否还有下一个元素可以迭代
*/
while (i.hasNext()) {
String str= (String)i.next();
System.out.println(str);
if("-".equals(str)) {
/*
* 迭代器要求在遍历的过程中不得使用集合 的方法增删元素,否则遍历时会抛出异常
*/
//c.remove(str);
/*
* 迭代器也提供了remove方法,删除是通过 next方法取出的元素。
*/
i.remove();
}
}
System.out.println(c);
}
}
迭代器:遍历集合元素的操作. iterator()的更多相关文章
- java8 增强的Iterator遍历集合元素
Iterator接口也是Java集合框架的成员,与Collection和Map两个系列的集合不一样的是Collection和Map系列主要用于充当容器的作用,而Iterator正如其名字一样是主要用于 ...
- 8.2.2 使用Java8增强的Iterator遍历集合元素
8.2.2 使用Java 8增强的Iterator遍历集合元素 Iterator接口方法 程序示例 Iterator仅用于遍历集合 Iterator必须依附于Collection对象 修改迭代变量的值 ...
- Java集合——遍历集合元素并修改
Java集合——遍历集合元素并修改 摘要:本文主要总结了遍历集合的方式,以及在遍历时修改集合要注意的问题. 遍历Collection 对List和Set的遍历,有四种方式,下面以ArrayList为例 ...
- Java修炼——ArrayList常用的方法以及三种方式遍历集合元素。
List接口ArrayList用法详解 ArrayList常用方法: 1. List.add():添加的方法(可以添加字符串,常量,以及对象) List list=new ArrayList(); l ...
- Java使用foreach遍历集合元素
Java使用foreach遍历集合元素 1.实例源码 /** * @Title:ForEach.java * @Package:com.you.model * @Description:使用forea ...
- 使用增强for循环遍历集合的时候操作集合的问题?
// 遍历一个list public static void printList(List<String> list){ for (String string : list) { list ...
- 创建Car类,包含name,price属性,构造器等方法,创建测试类,在main方法中创建Set接口的实现类,添加5个以上的Car对象,遍历集合元素,验证重复元素是否过滤了; 如果没有过滤,实现过滤功能;把每个小车的price降10000元,再遍历,查看price是否已改变
i汽车类 package com.lanxi.demo2_3; public class Car { private String name; private int price; @Override ...
- java集合 之 Collection和Iterator接口
Collection是List,Queue和Set接口的父接口,该接口里定义的方法即可用于操作Set集合,也可以用于List和Queue集合.Collection接口里定义了如下操作元素的方法. bo ...
- java集合(2)-Collection与Iterator接口
1 package com.j1803.collectionOfIterator; 2 import java.util.ArrayList; 3 import java.util.Collectio ...
随机推荐
- P5048 [[Ynoi2019模拟赛]Yuno loves sqrt technology III]
为什么我感觉这题难度虚高啊-- 区间众数的出现次数- 计算器算一下 \(\sqrt 500000 = 708\) 然后我们发现这题的突破口? 考虑分块出来[L,R]块的众数出现个数 用 \(\text ...
- Mac 多版本 JDK 管理
Mac 多版本 JDK 管理 1. 准备 ZSH Homebrew Oracle JDK 1.8 安装包(Homebrew 官方源和第三方源不再提供老版本的 Oracle JDK) 2. 安装 JDK ...
- 你不知道的JavaScript下卷
阿喀琉斯之踵 学习编程最好的办法就是编写代码 比较 隐式类型转换 数字和字符串 比较 字符串会隐式转换为数字,再进行比较 == 类型转换 ecma
- 从0开始学算法--排序(1.12c++利用标准库排序)
1,简单数组按升序排序 sort(a,a+n); #include <algorithm> #include <iostream> #include <cstring&g ...
- 推荐7个GitHub项目
CS-Notes https://github.com/CyC2018/CS-Notes 技术面试必备基础知识.Leetcode.计算机操作系统.计算机网络.系统设计.Java.Python.C++. ...
- BZOJ的思维题
5085:最大 给你一个n×m的矩形,要你找一个子矩形,价值为左上角左下角右上角右下角这四个数的最小值,要你最大化矩形 的价值. 关键点是要想到把这些值排序 值从小到大考虑,比如说现在最小的值是(x1 ...
- OrCAD Capture CIS绘制原理图、Allegro PCB Design XL 绘制PCB
1.OrCAD Capture CIS绘制原理图 1.1.快捷键 (1)放置连线 w (2)放置net名称 n 放下一个时再按n可以编辑名字 (3)编辑属性 ...
- ASPxGridView 排序、分页、加载数据必需的三个函数
protected void ASPxGridViewPoint_OnCustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs ...
- linux - 查看是否安装 apache 以及 apache 版本
命令 apachectl -v httpd -v 备注:这两个命令的作用一样 结果
- npm 模块开发调试技巧之最优方案npm link
在我们平时写项目中,当我们需要新开发或修改的 npm 模块时,如何在本地项目中调试呢? 本地项目路径:G:\npm\project 开发的模块路径:G:\npm\model 方法一: 在cmd命令窗口 ...