• STL中的几种迭代器的使用


    package com.zking.JEEE;

    import java.lang.reflect.Field;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.ListIterator;

    public class Temp {
    public static void main(String[] args) throws Exception {
    //定义一个ArrayList 集合
    // ArrayList arr=new ArrayList();
    // arr.add("a");
    // arr.add("b");
    // arr.add("c");
    // arr.add("d");
    // arr.add("e");
    // System.out.println(arr.size());
    // System.out.println("-------------//下标输出方式");
    // for (int i = 0; i <arr.size(); i++) {
    // System.out.println(arr.get(i));
    // }
    //
    // System.out.println("-------------//foreach输出(》=jdk1.5)");
    // for (Object object : arr) {
    // System.out.println(object);
    // }
    //
    // System.out.println("-------------//jdk1.8+的语法糖");
    // arr.forEach(a->System.out.println(a));
    //
    // System.out.println("-------------//迭代器");
    // Iterator it=arr.iterator();
    // while (it.hasNext()) {
    // System.out.println(it.next());
    // }
    // ArrayList arr=new ArrayList();
    // for (int i = 0; i <20; i++) {
    // print(arr);
    // arr.add(i);
    // }
    ArrayList arr=new ArrayList();
    arr.add("a");
    arr.add("b");
    arr.add("c");
    arr.add("d");
    arr.add("e");
    ListIterator list =arr.listIterator();
    System.out.println("//向下的读取hasNext");
    while(list.hasNext()) {
    System.out.println(list.next());
    }
    System.out.println("//向上的读取hasPrevious");
    while(list.hasPrevious()) {
    System.out.println(list.previous());
    }
    }

    // 使用反射查看属性

    // ArrayList默认长度10当长度为10时,增长因子为0.5倍,向下取整
    static void print(ArrayList arraylist) throws Exception {
    Class c = arraylist.getClass();
    Field elementData = c.getDeclaredField("elementData");
    elementData.setAccessible(true);
    Object[] arr = (Object[]) elementData.get(arraylist);
    System.out.println("elementData.length=" + arr.length);
    }
    }

    说明:

    (一)Collection接口
    1,集合框架的顶级接口
    2,是Set和List的父接口
    3,但不是Map的父接口

    (二)List接口
    1,特点:有序、对象可以重复
    2,遍历方式
    a,下标
    b,foreach(>=jdk1.5)
    c,迭代器Iterator

    1)读取下一个记录
    A.hasNext()是否存在下一个记录
    B.Next()取值

    2)读取上一个记录(ListIterator)
    A.hasPrevious()是否存在上一个记录
    B.Previous[]取值

  • 相关阅读:
    【项目】项目1
    Python脚本1
    Python基础24
    Python基础23(习惯)
    01-Spring(1)
    12-Shell(2)
    11-Shell(1)
    10-搭建EE环境
    09-常用指令(3)
    08-常用指令(2)
  • 原文地址:https://www.cnblogs.com/wjy0928/p/10885960.html
Copyright © 2020-2023  润新知