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采用了迭代器来为各种容器提供了公共的操作接口.这样使得对容器的遍历操作与其具体的底层实现相隔离, ...
随机推荐
- 华为S9306简单实用配置合集
华为QuidWay交换机配置命令手册: .开始 建立本地配置环境,将主机的串口通过配置电缆与以太网交换机的Console口连接. 在主机上运行终端仿真程序(如Windows的超级终端等),设置终端通信 ...
- 【Java】hashcode()和equals()
大家知道,在集合中判断集合中的两个元素是否相同,依赖的是hashcode()和equals()两个方法. > 一个简单的实验 public class Teacher { private Int ...
- SqlSever基础 convert 将类型为字符的一列转成Int类型后进行排序
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- Repeater导航菜单DataList产品展示
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JD.aspx.cs&quo ...
- [51NOD1024] 矩阵中不重复的元素(数学,精度)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1024 因为n和m都到100了,所以直接快速幂硬算一定会爆炸,考 ...
- SQL索引一步到位
以下均非原创,仅供分享.学习!!! SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? S ...
- sqlserver2008创建数据库 报 Cannot read property is filestream 此属性不可用于sql server 7.0 解决
在创建数据库的时候,报整个错误 Cannot read property is filestream 此属性不可用于sql server 7.0 按照网上的方法 (http://blog.csdn. ...
- 《NoSQL精粹》思维导图读书笔记
<NoSQL精粹>思维导图读书笔记 各主题笔记 这本书短小精悍,虽不能解答所有NoSQL疑问,但在读书过程中会抛给你不少未曾想过的问题,给人以更深入的思考: 这里对每一个主题分别做了笔记: ...
- implement Google's Open Source Slam "Cartographer" demos in ROS/rviz
Cartographer is a backpack equipped with Simultaneous Localization and Mapping (SLAM) technology. 1. ...
- hdu 1023 卡特兰数+高精度
Train Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...