• 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);
     }


     

  • 相关阅读:
    nmcli 命令的基本使用
    kvm虚拟机添加网卡
    Centos 7 系统详解
    Android 开发工具下载
    Android Studio升级3.6 Build窗口出现中文乱码问题解决方案
    Android 透明度alpha换算16进制
    python 安装: WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
    关于AndroidStudio 配置的默认路径的修改
    通过设置代理解决AndroidStudio无法下载gradle问题
    机器学习ROC图解读
  • 原文地址:https://www.cnblogs.com/ly-0919/p/10885777.html
Copyright © 2020-2023  润新知