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

    ArrayList 集合  也可称作动态数组(长度可变),在新建的时候是没有默认长度的,在新增数据长度小于10的时候,ArrayList 的长度会自动设置为10

     //了解更多可以按住Ctrl 再点击你需要查看的方法或者类名,  查看List源代码,ArrayList源代码

    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");
      System.out.println(arr.size());    //ArrayList 集合可以有重复对象
      System.out.println("-------下标输出方式");
      //下标输出方式
      for(int i=0;i<arr.size();i++) {
       System.out.println(arr.get(i));
      }
      System.out.println("-------foreach输出(jdk>1.5)");
      //foreach输出(jdk>=1.5)
      for(Object o:arr) {
       System.out.println(o);
      }
      System.out.println("-------jdk1.8的语法糖");
      //jdk1.8语法糖
      arr.forEach(x->System.out.println(x));
      System.out.println("-------jdk1.8的迭代器");
      //迭代器
      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(5);
      arr.add("a");
      arr.add("b");
      arr.add("c");
      arr.add("d");
      arr.add("e");
      ListIterator list=arr.listIterator();
      System.out.println("----------------下");
      while(list.hasNext()) {
       System.out.println(list.next());
      }
      System.out.println("----------------上");
      while(list.hasPrevious()) {
       System.out.println(list.previous());
      }
      
      //栈  可以比喻成一个车厢  最大的容量  3M
      //堆  可以比喻成一个火车  将内存中的零散的空间组成的一张链式表格
      //实现自定义的栈  mystack


     }

     //使用反射查看属性
     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);
     }


     

  • 相关阅读:
    微信小程序-rpx
    vue项目页面切换到默认显示顶部
    访问formData的数据
    vue图片懒加载
    react+umi+dva
    switch判断中,case后面跟逻辑表达式出错
    给2020做一个小结
    react+next.js遇到的问题及解决
    域名相关(结构与规范)
    react+antd一边踩坑一边积累
  • 原文地址:https://www.cnblogs.com/ly-0919/p/10885777.html
Copyright © 2011-2022 走看看