zoukankan      html  css  js  c++  java
  • ArrayList集合的特点和几种遍历方法

    public class temp {
    public static void main(String[] args)throws Exception {


    ArrayList 在定义时长度为空 ,在新增数据时默认长度为10, 当长度超过10的时候 ,增长因子数为0.5倍,向下取整数


      ArrayList arr=new ArrayList();

      arr.add("a");
      arr.add("b");
      arr.add("c");
      arr.add("d");
      arr.add("e");
      arr.add("f");
      System.out.println(arr.size());

    遍历方式
     A.下标输出方式
      for(int i=0; i<arr.size();i++) {
       System.out.println(arr.get(i));
    }



    B.foreach输出(>=jdk1.5)

      for (Object o : arr) {
       System.out.println(o);
    }



     C.1.8jdk的语法糖
      arr.forEach(a->System.out.println(a));
      System.out.println("----------迭代器");


     D.迭代器

    Iterator it=arr.iterator();

    while(it.hasNext()) {
       System.out.println(it.next());
      }


    ArrayList arr=new ArrayList(5);
    for(int i=0;i<20;i++) {
    print(arr);
       arr.add(i);
      }


    ArrayList arr=new ArrayList(5);
    arr.add("a");
    arr.add("b");
    arr.add("c");
    arr.add("d");
    arr.add("e");
    ListIterator list=arr.listIterator();


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

    向下读取
    while(list.hasNext()) {
    System.out.println(list.next());
    }

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


    //向上读取
    while(list.hasPrevious()) {
    System.out.println(list.previous());
    }

    //栈 是一个车厢 最大容量 3M
    //堆 是一个火车 将内存中零散的空间组成的一张链式表格
    //实现自定义的栈 mystack


    }


    // 3 查看List源代码,ArrayList源代码
    //使用反射查看属性:
    static void print(ArrayList arraylist) throws Exception {
    Class c=arraylist.getClass();
    Field elementData=c.getDeclaredField("elementData");
    elementData.setAccessible(true);
    Object[] objects=(Object[])elementData.get(arraylist);
    System.out.println(objects.length);
    }

    }

  • 相关阅读:
    Appium + Python自动化
    Appium + python自动化
    基于python的request库,模拟登录csdn博客
    利用uiautomator实现Android移动app启动时间的测试
    JavaScript 闭包
    Vue.js 参考资料汇总
    JVM垃圾回收策略
    JVM内存分配策略
    synchronized底层原理
    HTTPS加密原理
  • 原文地址:https://www.cnblogs.com/liuwenwu9527/p/10885788.html
Copyright © 2011-2022 走看看