精华内容
下载资源
问答
  • Iterator迭代器包含的方法有: hasNext():如果迭代器指向位置后面还有元素,则返回 true,否则返回false next():返回集合中Iterator指向位置后面的元素 remove():删除集合中Iterator指向位置后面的元素 ...

    Iterator迭代器包含的方法有:

    hasNext():如果迭代器指向位置后面还有元素,则返回 true,否则返回false

    next():返回集合中Iterator指向位置后面的元素

    remove():删除集合中Iterator指向位置后面的元素

    ListIterator迭代器包含的方法有:

    add(E e): 将指定的元素插入列表,插入位置为迭代器当前位置之前

    hasNext():以正向遍历列表时,如果列表迭代器后面还有元素,则返回 true,否则返回false

    hasPrevious():如果以逆向遍历列表,列表迭代器前面还有元素,则返回 true,否则返回false

    next():返回列表中ListIterator指向位置后面的元素

    nextIndex():返回列表中ListIterator所需位置后面元素的索引

    previous():返回列表中ListIterator指向位置前面的元素

    previousIndex():返回列表中ListIterator所需位置前面元素的索引

    remove():从列表中删除next()或previous()返回的最后一个元素(有点拗口,意思就是对迭代器使用hasNext()方法时,删除ListIterator指向位置后面的元素;当对迭代器使用hasPrevious()方法时,删除ListIterator指向位置前面的元素)

    set(E e):从列表中将next()或previous()返回的最后一个元素返回的最后一个元素更改为指定元素e

    展开全文
  • 迭代器Iterator

    2021-03-21 22:17:07
    - public Object[] toArray(): 把集合中的元素,存储到数组中 迭代器Iterator boolean hasNext() 判断是否有元素 E next() 获取元素 获取到迭代器 Collection c = new 实现类(); Iterator<String> it = c.iterator...

    Collection
    单列集合的顶层接口

    常用方法
    - public boolean add(E e): 把给定的对象添加到当前集合中 。
    - public void clear() :清空集合中所有的元素。
    - public boolean remove(E e): 把给定的对象在当前集合中删除。
    - public boolean contains(Object obj): 判断当前集合中是否包含给定的对象。
    - public boolean isEmpty(): 判断当前集合是否为空。
    - public int size(): 返回集合中元素的个数。
    - public Object[] toArray(): 把集合中的元素,存储到数组中

    迭代器Iterator

    boolean hasNext() 判断是否有元素 E next() 获取元素
    获取到迭代器
    Collection c = new 实现类<>();

    Iterator<String> it = c.iterator();
    while(it.hasNext()){
    	it.next();
    }
    

    并发修改异常
    当迭代器正在迭代集合时,集合改变了自身的长度 抛出此异常
    增强for循环
    用来遍历数组和集合的

    for(集合中存储元素的数据类型 变量名: 集合名){
    		
    	}
    

    泛型
    定义泛型 定义在类 方法 接口上
    预先使用未知的类型

    使用泛型  
    	创建对象时 传入数据类型 就是在使用泛型 
    
    ArrayList<String>
    
    	好处 
    		将运行时异常 提前到编译时
    		避免强制类型转换的麻烦
    
    泛型类的定义 
    	public class 类名<泛型变量名>{
    	
    	}
    
    什么时候确定泛型的数据类型 
    创建对象时 确定泛型的类型   
    
    类名<数据类型>  变量名 = new 类名<>();
    
    泛型方法 
    		修饰符 <T>返回值类型  方法名(参数 ){
    		
    		}
    
    调用方法 传递参数 确定泛型的数据类型
    
    泛型接口 
    	public  interface 接口名<泛型变量>{
    	
    	}
    
    什么时候确定泛型的数据类型
    	1.定义实现类时 直接确定泛型的数据类型 
    
    public class 类名  implements 接口名<String>{
    		
    		}
    
    	2.定义实现类时 不确定泛型的数据类型  创建实现类对象时 再确定类型
    
    public class 类名<T>  implements 接口名<T>{
    		
    		}
    		类名<String> 对象名 = new 类名<String>();
    
    泛型的通配符 
    	?
    

    泛型的限定 上限限定 ? extends 类 ?可以是 这个类及其子类
    下限限定 ? super 类 ? 可以是 这个类及其父类

    数据结构

    先进后出
    存 A B C
    取 C B A
    队列
    先进先出
    存 A B C
    取 A B C
    数组
    查询快 增删慢
    链表
    查询慢 增删快
    ArrayList集合
    特点
    有序 有索引 元素可重复
    底层数据结构是数组 查询快 增删慢
    线程不安全 效率高

    Vector集合
    特点
    有序 有索引 元素可重复
    底层数据结构是数组 查询快 增删慢
    线程安全 效率低
    LinkedList集合
    特点
    有序 有索引 元素可重复
    底层数据结构是链表 查询慢 增删快
    线程不安全 效率高

    必须会的
    集合遍历 迭代器 增强for 对于List集合还有普通for

    展开全文
  • 文章目录一、Iterator是什么?二、使用步骤1.常用方法2.next()使用3.循环集合元素hasNext()4. remove() 一、Iterator是什么?...E next() 会返回迭代器的下一个元素,并且更新迭代器的状态。 boolean h


    一、Iterator是什么?

    Iterator不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。

    Iterator 属于迭代输出,基本的操作原理:是不断的判断是否有下一个元素,有的话,则直接输出。

    二、使用步骤

    1.常用方法

    E next()     会返回迭代器的下一个元素,并且更新迭代器的状态。
    boolean hasNext()  用于检测集合中是否还有元素。存在则返回truedefault void remove()     将迭代器返回的元素删除。
    

    2.next()使用

    next() 会返回迭代器的下一个元素,并且更新迭代器的状态。

    import java.util.Iterator; // 引入 Iterator 类
    import java.util.ArrayList;
    
    public class Demo {
        public static void main(String[] args) {
            // 创建集合
            ArrayList<String> data = new ArrayList<>();
            // 为集合添加元素
            data.add("Google");
            data.add("IDEA");
            data.add("Baidu");
            // 获取迭代器
            Iterator<String> iterator = data.iterator();
            // 输出集合中第一个元素
            System.out.println(iterator.next());
            // 输出集合中第二个元素
            System.out.println(iterator.next());
        }
    }
    

    执行以上代码,结果输出为:

    Google
    IDEA
    

    3.循环集合元素hasNext()

    hasNext() 用于检测集合中是否还有元素。存在则返回true。

    让迭代器逐个返回集合中所有元素最简单的方法是使用 while 循环:

    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class Demo {
        public static void main(String[] args) {
            // 创建集合
            ArrayList<String> data = new ArrayList<>();
            data.add("Google");
            data.add("IDEA");
            data.add("Baidu");
            // 获取迭代器
            Iterator<String> iterator = data.iterator();
            // hasNext 检查集合中是否还有元素,如果有则进入循环。
            while (iterator.hasNext()){
            	// 循环打印集合中的 元素
                System.out.println(iterator.next());
            }
        }
    }
    

    执行以上代码,输出结果如下:

    Google
    IDEA
    Baidu
    

    4. remove()

    remove() 将迭代器返回的元素删除。

    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class Demo {
        public static void main(String[] args) {
            // 创建集合
            ArrayList<String> data = new ArrayList<>();
            data.add("Google");
            data.add("IDEA");
            data.add("Baidu");
            // 获取迭代器
            Iterator<String> iterator = data.iterator();
            iterator.next();
            // 使用remove时,迭代器的指针不能为初始位置,否则会报错
            iterator.remove();
            // 输出集合中第一个元素
            System.out.println(iterator.next());
            // 输出集合中第二个元素
            System.out.println(iterator.next());
    
        }
    }
    
    

    执行以上代码,输出结果如下:

    IDEA
    Baidu
    

    可以看到,原本集合中的第一个元素Google被干掉了。

    展开全文
  • 迭代器 iterator

    2021-08-01 09:01:05
    文章目录迭代器简介迭代器的定义迭代器的分类迭代器的使用 迭代器简介 是用来指向、遍历。修改容器元素的变量,类似于指针。 可以迭代STL容器内全部或部分元素的对象;(有些容器不支持下标) 指出容器中的一个特定...

    迭代器简介

    是用来指向、遍历。修改容器元素的变量,类似于指针。
    可以迭代STL容器内全部或部分元素的对象;(有些容器不支持下标)
    指出容器中的一个特定位置

    int main() {
    	char a[] = "hello world";
    	char *p;
    	//p是指向字符数组的指针 相当于迭代器
    	for (p = a; *p != '\0'; *p++) { //++的运算级更高
    		cout << *p;
    	}
    }
    

    迭代器的定义

    对于vector对象建立一个迭代器,要用双冒号来声明。
    vector::iterator it;

    int main() {
    	int a[] = {10, 20, 30, 40, 50};
    	vector <int> v(a, a + 5);
    	//定义迭代器
    	vector<int>::iterator it;//给一个存放整数变量的vector定义一个迭代器
    	//指向vector的首元素
    	it = v.begin(); //类似于p=s
    	for (it; it != v.end(); it++) {
    		cout << *it << " ";
    	}
    }
    

    迭代器的分类

    常用的迭代器按功能强弱分为:输入、输出、正向、双向、随机访问五种,只学习三种。
    不同容器的迭代器,其功能强弱有所不同。例如,排序算法需要通过随机访问迭代器来访问容器中的元素,因此有的容器就不支持排序算法。

    1、正向迭代器
    假设p是一个正向迭代器,则p可以自曾可以取值(p++ *p),且连个正向迭代器之间可以互相赋值,只支持==与!=。

    2、双向迭代器
    有正向迭代器的全部功能
    双向迭代器还支持自减,可以使得p朝着和++p相反的方向移动。就是不能跳着访问,要一个一个访问。

    3、随机访问迭代器
    具有双向迭代器的全部功能
    还支持p+=i,p-=i,p+i等可以随机访问任意值的操作。
    还支持> <等全部比较符,而且还可以两个迭代器相减,p1-p2返回对应元素指向的序号差。

    在这里插入图片描述

    迭代器的使用

    可以正向迭代也可以反向迭代

    int main() {
    	int a[] = {10, 20, 30, 40, 50};
    	vector <int> v(a, a + 5);
    	//定义迭代器
    	vector<int>::iterator it;//给一个存放整数变量的vector定义一个迭代器
    	//指向vector的首元素
    	it = v.begin(); //类似于p=s
    	cout << "迭代器遍历:";
    	for (it; it != v.end(); it++) {
    		cout << *it << " ";
    	}
    	cout << endl;
    	//利用反向迭代器遍历
    	cout << "反向迭代器遍历:";
    	vector<int>::reverse_iterator rit;
    	for (rit = v.rbegin(); rit != v.rend(); rit++) {
    		cout << *rit << " ";
    	}
    }
    

    其实迭代器就像指针一样,指向的也是地址,可以跟指针一样的使用。只是各自用途会有不同。

    展开全文
  • js中的迭代器iterator

    2021-01-20 11:59:54
    js 迭代器 iterator 和 生成器 Generator 使用方法 以及for of怎么实现 首先让我们了解一下迭代器 iterator 是什么 迭代器iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。任何数 据结构只要部署...
  • 简介迭代器是遍历容器的一种常用方法...Iterator在java中,迭代器接口Iterator定义了三种方法public interface Iterator{//是否还有元素可以迭代,如果有 返回true 没有返回falseboolean hasNext();//返回迭代的下一...
  • 迭代器Iterator的使用方法和特点 迭代器 迭代器是一个设计模式、是一个对象,他可以遍历并选择序列中的元素,而开发人员不需要了解这个序列的底层原理。迭代器又被称为“轻量级”对象,因为创建他的成本很低。 ...
  • Java迭代器iterator遍历有条件删除对象 在使用迭代器遍历对象并对对象使用删除操作时可能发生的问题指南 文章目录Java迭代器iterator遍历有条件删除对象前言总结 前言 前不久在使用Java迭代器 iterator 对象遍历...
  • 迭代器Iterator的执行原理: Iterator是什么? 我们的Iterator就类似于指针一样,我们使用 集合对象.iterator()方法就可以返回一个Iterator接口的实现类的实例对象(也就是产生了一个对于这个集合的实例指针),就相当于...
  • java 迭代器iterator

    2021-02-26 14:39:03
    迭代器(Iterator)迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。Java中的Iterator功能比较简单...
  • 什么是迭代器 迭代器是一种特殊对象,它具有一些专门为迭代过程设计的专有接口,所有的迭代器对象都有一个next()方法,每次调用都返回一个结果对象,结果对象有两个属性:一个是value,表示下一个将要返回的值,另...
  • it->first代表下标;...//使用迭代器 for(it=a.begin();it!=a.end();it++) { cout["<<it->first]="<<it->second; } //it->first是下标,it->second是值 } 运行结果: a[1]=2 a[3]=4 a[5]=6 a[7]=8 a[9]=10
  • 前言:虽然集合没有索引,但是为了方便说明迭代器的方法,就先引用索引这个名词,实际上集合是不能用索引来获取元素的 1、hasNext() :迭代器对象指向的索引位置有没有元素 2、next() :获取迭代器对象当前索引位置...
  • 迭代器Iterator、生成器Generator详解
  • package TestList;import java.util....import java.util.Iterator;import java.util.List;import java.util.TreeSet;public class TestIterator {/*** @param args*/public static void main(String[] args)...
  • 迭代器iterator是集合专用的遍历方式。 他有两个常用方法:一是 hasNext():判断当前位置是否有元素可以被取出,布尔类型 二是next():获取当前位置的元素; 和将迭代器对象移向下一个索引位置。 Collection...
  • 迭代器iterator是C++ STL的组件之一,作用是用来遍历容器,而且是通用的遍历容器元素的方式,无论容器是基于什么数据结构实现的,尽管不同的数据结构,遍历元素的方式不一样,但是用迭代器遍历不同容器的代码是完全...
  • Java迭代器Iterator

    2021-03-13 14:06:20
    之前我们实现了迭代器模式,很多编程语言实际上已经内置了迭代器类,比如Java就为我们实现了迭代器Iterator。我们首先来看Iterator中的源码。通过JDK源码我们发现Iterator是一个接口,包含三个方法:hasNext、next、...
  • Java 迭代器 Iterator

    2021-03-16 19:25:15
    迭代器模式迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。迭代器模式属于行为型模式。Java手册java.lang接口 ...
  • 图解迭代器Iterator

    2021-03-22 18:49:39
  • JS之迭代器 Iterator

    2021-09-07 16:43:42
    Symbol.iterator为每一个对象定义了默认的迭代器。该迭代器可以被 for...of 循环使用。 ES6 规定,默认的 Iterator 接口部署在数据结构的 Symbol.iterator属性,或者说,一个数据结构只要具有Symbol.iterator属性,...
  • 迭代器 Iterator

    2021-11-23 15:41:50
    Java Iterator迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 List、Set等框架集合 对框架结合进行迭代的类,称其为迭代器 迭代器是专门取出集合元素的对象,但该对象不能直接创建对象(通过...
  • i++){}增强for循环for(String str:list){}什么是迭代器IteratorIterator是Java中的一个接口,核心作用就是用来遍历容器的元素,当容器实现了Iterator接口后,可以通过调用Iterator()方法获取一个Iterator对象为啥是...
  • 迭代器Iterator&列表迭代器ListIterator 文章目录迭代器Iterator&列表迭代器ListIterator一、迭代器Iterator概述基本操作注意事项二、列表迭代器ListIterator概述基本操作注意事项三、Iterator和...
  • 迭代器 Iterator 是什么?Java容器的顶部接口就是Iterator。是一个可以遍历集合的对象,为各种容器提供了公共的操作接口,隔离对容器的遍历操作和底层实现,从而解耦。java迭代器查找的唯一操作就是依靠调用next,而...
  • 迭代器iterator,用来遍历数组(废话) 原理 创建一个指针指向第一个,然后不停的指向下一个 那究竟怎么用呢 const xiyou=['跳转','孙悟空','猪八戒','深圳']; //使用for of遍历 for (let v of xiyou){ console....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 254,980
精华内容 101,992
关键字:

迭代器iterator

友情链接: work_test.rar