zoukankan      html  css  js  c++  java
  • Java学习-数组

    1、数组的是Object的直接子类,它属于“第一类对象”,但是它又与普通的java对象存在很大的不同,类名为:[I

      一维数组:[I
      二维数组:[[I
      三维数组:[[[I

    2、[代表了数组的维度,一个[表示一维,两个[表示二维。可以简单的说数组的类名由若干个'['和数组元素类型的内部名称组成。

    3、数组和普通的Java类是不同的,普通的java类是以全限定路径名+类名来作为自己的唯一标示的,而数组则是以若干个[+L+数组元素类全限定路径+类来最为唯一标示的。这个不同也许在某种程度上说明了数组也普通java类在实现上存在很大的区别,也许可以利用这个区别来使得JVM在处理数组和普通java类时作出区分。

    4、[I没有生命任何成员变量、成员方法、构造函数、Annotation甚至连length成员变量这个都没有,它就是一个彻彻底底的空类

    5、 数组的使用方法无非就是四个步骤:声明数组、分配空间、赋值、处理。

          声明数组:就是告诉计算机数组的类型是什么。有两种形式:int[] array、int array[]。

          分配空间:告诉计算机需要给该数组分配多少连续的空间,记住是连续的。array = new int[10];

          赋值:赋值就是在已经分配的空间里面放入数据。array[0] = 1 、array[1] = 2……其实分配空间和赋值是一起进行的,也就是完成数组的初始化。有如下三种形式:

    int a[] = new int[2];    //默认为0,如果是引用数据类型就为null
            int b[] = new int[] {1,2,3,4,5};    
            int c[] = {1,2,3,4,5};

          处理:就是对数组元素进行操作。通过数组名+有效的下标来确认数据。

    6、在java中,数组是一种效率最高的存储和随机访问对象引用序列的方式。在性能要求较高的场景中请优先考虑数组    

    7、 数组是定长的,一旦初始化声明后是不可改变长度的。这对我们在实际开发中是非常不方便的,聪明的我们肯定是可以找到方法来实现的,可以利用List集合add方法里面的扩容思路来模拟实现

    8、通过Arrays.copyOf()方法产生的数组是一个浅拷贝。同时数组的clone()方法也是,集合的clone()方法也是,所以我们在使用拷贝方法的同时一定要注意浅拷贝这问题。

    9、asList返回的是一个长度不可变的列表。数组是多长,转换成的列表是多长,我们是无法通过add、remove来增加或者减少其长度的。

  • 相关阅读:
    谷歌浏览器慎用有道词典插件(<audio></audio>) (转载)
    Python函数-4 迭代器
    {v: k for k, v in myArray.items()}
    Python函数-3 推导式
    Java面向对象编程 -6.5
    Java面向对象编程 -6.8
    Java面向对象编程 -6.7
    Java面向对象编程 -6.6
    Java面向对象编程 -6.4
    Java面向对象编程 -6.3
  • 原文地址:https://www.cnblogs.com/liutoutou/p/3545502.html
Copyright © 2011-2022 走看看