迭代器:遍历集合元素的操作. 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 ...
随机推荐
- 2019-08-21 纪中NOIP模拟A组
T1 [JZOJ6315] 数字 题目描述
- 推荐7个GitHub项目
CS-Notes https://github.com/CyC2018/CS-Notes 技术面试必备基础知识.Leetcode.计算机操作系统.计算机网络.系统设计.Java.Python.C++. ...
- 被遗忘的宝藏-LaTeX发行版自带字体&自己一些字体心得
KMC大作,如果用xelatex的话,这些知识仅仅作为大家了解.希望对于学习latex有所裨益.原文地址:http://bbs.ctex.org/viewthread.php?tid=43596&am ...
- BZOJ4710: [Jsoi2011]分特产 组合数学 容斥原理
题意:把M堆特产分给N个同学,要求每个同学至少分到一种特产,共有多少种分法? 把A个球分给B个人的分法种数:(插板法,假设A个球互不相同,依次插入,然后除以全排列去重) C(A,B+A) 把M堆特产分 ...
- 分析器错误消息: Reference.svcmap:未能加载文件
-------------- 缺少了:System.Web.Razor.dll
- 剑指offer 56.删除有序链表中的重复结点
56. 删除有序链表中的重复结点 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3-> ...
- rm -rf
inux反选删除文件 最简单的方法是 # shopt -s extglob (打开extglob模式) # rm -fr !(file1) 如果是多个要排除的,可以这样: # rm -rf ...
- flask操作
models.py class CompanyGoodsModel(Base): id=Column(Integer, primary_key=True) company_id = Column(In ...
- SpringBoot 测试基类
每次写单元测试都要重复写一些方法.注解等,这里我写了一下测试的基类 (1) 记录测试方法运行的时间 (2)两个父类方法 print,可打印list和object对象 (3)一个属性 logger 记录 ...
- JUC-LOCK接口
Synchronized 1.多线程编程模版上 (1)线程 操作 资源类 (2)高内聚低耦合 2.实现步骤 (1)创建资源类 (2)资源类里创建同步方法,同步代码块 3.例子:卖票 LOCK 接口 锁 ...