栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础 -- 数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础 -- 数组

数组

定义:包含同一类型数据的且固定长度的容器对象。

声明方式
//    创建一个长度为5的整型数组
        int[] arr1 = new int[5]; //默认20个初值都为0
        int[] arr2 = new int[]{0, 1, 2, 3, 4};//直接赋值

        // 通过下标为每个元素赋值
        // 遍历、赋值
        for (int value : arr1) {
            arr1[value] = (int) (Math.random() * 10);
        }
        for (int i : arr1) {
            System.out.println(i);
        }

结果:

注:

    声明时需要初始化数组大小,初始化过程就是内存分配过程,一旦初始化完成,在内存的空间就固定下来了。即使其中部分元素被清除,其占用的空间依然保留。因此,数组长度不可变。
    要想改变数组的空间就必须对数组扩容。
    数组扩容:创建一个新的数组,进行数据拷贝,达到“扩容”的目的数组本质是一个对象,其引用指向数组首个元素的内存地址数组的引用变量,也叫数组变量,存放在栈(stack)内存中,数组对象存放在堆(heap)内存中,通过栈内指针指向对应元素在堆内存中的位置实现访问
    (数组变量就是一个引用,存放的是内存地址,相当于给某块内存取了个别名,方便我们记忆)数组的复制操作需要逐个将元素进行复制,不能简单的将变量名直接进行复制(只是栈内存中存储的引用改变,堆内存并没有开辟新的内存空间)
数组常考
    length属性:
    数组一旦定义,长度就不可变,因此可将数组长度作为数组的一个属性String的length()方法:
    字符串的底层使用char型数组实现,对于数组,本身就有length属性,因此,对于字符串来讲就可以直接使用,而没必要再去定义这样一个属性,直接通过方法得到即可,即length()方法。
数组扩容方法

Arrays工具类:对数组进行封装的一个类,提供大量操作数组的方法

使用copyof()对数组实现扩容操作,第二个参数为新数组的大小

System.out.println("original arr2:");
        for (int i : arr2) {
            System.out.println(arr2[i]);
        }
        System.out.println("After Resize...");
        System.out.println("arr3:");
        // 数组扩容
        int[] arr3 = Arrays.copyOf(arr2, 10);
        for (int i : arr3) {
            System.out.println(arr3[i]);
        }

结果:

数组删除操作

将删除位置元素后面的所有元素统一向前复制,用后一个元素的值覆盖前一个
如果直接将该位置的值置为null,则遍历时可能会报空指针异常

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749067.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号