9159金沙游艺场-奥门金沙游艺场-[欢迎您]

9159金沙游艺场为您呈现最新的面貌!,目前注册送体验金,欢迎您将成为影视娱乐行业新的风向标,是亚洲的优质娱乐先锋。

学习笔记iterator

日期:2019-10-07编辑作者:前端

Java学习笔记28(集合框架二:Iterator迭代器),学习笔记iterator

Iterator接口,翻译成中文是迭代器

迭代器的概念通俗解释:

java中有很多的集合,内部有各种存储方法,取出的方式也各不相同,是否可以有一种通用的方式来获取呢?

这种方式类似for循环遍历,

通用获取方式:取出元素之前判断集合中有没有这个元素,如果有,就取出来;继续判断,如果还存在那么继续取出,直到全部取出为止,这种取出就是迭代

 

迭代器的实现:

(将ArrayList集合换成其他的集合,也可以实现)

package demo;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class IteratorDemo {
    public static void main(String[] args) {
        Collection<String>c1 = new ArrayList<String>();
        c1.add("abc1");
        c1.add("abc2");
        c1.add("abc3");
        c1.add("abc4");
        Iterator<String> it1 = c1.iterator();
        boolean b1 = it1.hasNext();//是否有元素可以被取出
        System.out.println(b1);//true
        //获取元素
        while(it1.hasNext()){
            String s = it1.next();
            System.out.println(s);
        }
    }
}

 

集合迭代中的转型:
建议加入类型,但是不加入也可以执行:

package demo;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CollectionDemo {
    public static void main(String[] args) {
        //集合可以存储任意类型的对象
        //集合中,不指定存储的数据类型,也可以存储
        Collection c1 = new ArrayList();
        c1.add("abc");
        c1.add("def");
        Iterator it1 = c1.iterator();
        while(it1.hasNext()){
            //it.next获取Object类型,强制转换
            String s1 = (String)it1.next();
            System.out.println(s1.length());
        }
    }
}

 

利用迭代器的原理,在JDK1.5之后出现了增强for循环:

增强for循环遍历数组示例:

package demo;
//增强for循环,有固定格式

//好处:代码少了,方便遍历
//弊端:没有索引,不能操作容器里面的元素
public class ForEachDemo {
    public static void main(String[] args) {
        function1();
        function2();
    }

    public static void function1(){
        int[] arr = {3,2,5,4,8,9,6};
        //遍历输出
        for(int i :arr){
            System.out.println(i);
        }
    }

    public static void function2(){
        //遍历的时候,可以调用对象的方法
        String[] str1 = {"abc","def","java"};
        for(String s:str1){
            System.out.println(s);
            System.out.println(s.length());
        }
    }
}

 

增强for循环遍历集合示例:

package demo;

import java.util.ArrayList;

//增强for循环,有固定格式
public class ForEachDemo {
    public static void main(String[] args) {
        function();
    }

    public static void function() {
        ArrayList<String> array1 = new ArrayList<String>();
        array1.add("abcd");
        array1.add("java");
        for (String s : array1) {
            System.out.println(s);
        }
    }
}

 

Iterator接口,翻译成中文是迭代器 迭代器的概念通俗解释: java中有很多的集...

本文由9159金沙游艺场-奥门金沙游艺场-[欢迎您]发布于前端,转载请注明出处:学习笔记iterator

关键词:

根据学生对象数序9159金沙游艺场

Java中List集合排序的方法 比较器的使用 根据学生对象数序 语文 英语成绩总和进行sort排序,javasort package com.swift;imp...

详细>>

使用Xshell连接本地虚拟机中的Linux9159金沙游艺场

想在自己机器上安装一下Linux,并使用xshell访问,可是费了很长时间,在xshell端都提示“Couldnot connect to '192.168.54.100...

详细>>

Java学习笔记33

Java学习笔记33(集合框架七:Collections工具类), 数组有工具类,方面操作数组 9159金沙游艺场,集合也有工具类:...

详细>>

throw抛出自定义业务逻辑异常

java中异常处理机制 throw抛出自定义业务逻辑异常 throws继续抛出 catch捕获后会自动继续抛向调用方法,throwthrows packa...

详细>>