zoukankan      html  css  js  c++  java
  • 集合3

    迭代器

    说明:迭代器是一种设计模式,它是一个对象,可以遍历并选择序列中的对象,而开发人员

    不需要了解该序列结构。迭代器通常被称为“轻量级”对象,因为创建它代价小。forEach是

    在Java1.5版本之后,使用的一种比较简洁的遍历List的方法。

    相关知识与实施步骤:

    如Set序列当中的值;

    Iterator <Student>it=set.iterator();
    while(it.hasNext()){
    System.out.println(it.next());
    }
    
    Iterator来遍历map中的值序列
    Iterator <Student>it=map.values().iterator();
    while(it.hasNext()){
    Sysem.out.println(it.next());
    }

    hasNext():如果next返回了元素而不是抛出异常,则返回true。

    返回:如果迭代器具有多个元素,则返回true。

     

    思路:

    先用集合对象的iterator()方法来获取Iterator对象;然后再通过Iterator的.hasNext()方法来判断是

    否有元素,有则返回true,否则返回false来作为循环判断条件;最后再循环里面用next()方法来获

    取元素对象。

     

    Iterator接口

    1.Iterator定义

    格式:<<interface>>Iterator

    作用:对于某个序列实现该interface,功能是“使用”迭代器。

    如:

    public interface Iterator<E>{

    boolean hasNext();//判断是否存在下一元素

    E next();

    void remove();

    }

    2.Iterator接口

    Iterator接口功能“返回”一个迭代器。

    另外,Iterator接口被foreach语句用来在序列中移动,

    import Java.util.Iterator;

    public interface Iterable<T>{

    Iterator <T>iterator();

    }

    3.Iterator的方法

    此方法可删可查,可以两个方向遍历List,可在List中插入和删除元素。

    4.Iterator与泛型搭配

    由于集合类中装入的对象类型(list或set)不确定,而从集合中取出来的

    都是Object类型,在使用时较麻烦,这是就引入了泛型,提前告诉了集合

    要装入的类型,这样就可以直接使用而不用显示类型转换。

    5.for循环与迭代器的效率对比

    for循环适合访问顺序结构,而Iterator适合访问链式结构,因为迭代器是通过

    next()和pre()来定位的,可以没有顺序的集合。

     

    泛型

    为什么要引入泛型?作用是什么?

    泛型是java语言的类型相同的一种扩展,以支持创建可以按类型进行参数化的类。

    可以把类型参数看做使用参数化类型指定类型的占位符,就行形参是运行时传递值

    一样的符号。

     

    好处1:用到了泛型时,可增强程序的安全和健壮性,有点类似于JDK中的某些标注(例如override)。

     

    还有个好处就是在用forEach遍历集合时,不需要进行强制转换。

    for(String name:classes){

    System.out.println(num+”: ”+name);

    num++;

    }

    好处2:若上面的语句没通过泛型说明String类型,则for循环会报错(理由:上面第四点)

    成年人的世界没有那么多的童话,也没有那么多的逆袭。
  • 相关阅读:
    C# 根据实体将DataTable拆分成表头表体
    html KeyDown 当键盘按下时 获取所按键的Code
    Linq ExecuteQuery,ExecuteCommand
    Linq To Object
    Var To DataTable
    Linq to SQL 基础篇
    反射生成SQL语句
    Ajax跨域请求ashx文件与Webservice文件
    Ajax调用WebService
    DataTableToJson
  • 原文地址:https://www.cnblogs.com/shijinglu2018/p/8401719.html
Copyright © 2011-2022 走看看