数组相信大家都不会陌生,无论是那个语言都离不开数组的帮助,甚至有时到了“无数组不编程”的程度,足以看出数组的重要性。今天我们来简单介绍一下关于数组的基本知识以及在运用中的一些常见方法。
数组
数组是用于储存多个相同类型数据的集合。
在C语言中,我们的数组经常习惯的定义方法是:
类型 数组名[];如:int a[];
在java中,数组的定义规则是:
类型[] 数组名;如:int[] a;
这里需要提醒一点:定义数组时,不能指定数组长度。 如:int[3] a;或int a[3];是不允许的。
以上只是声明方式不同,虽然无论哪一种在java语言中都是允许的。不过按照规范还是推荐使用后者。
一位数组的初始化方式有两种:
静态初始化
所谓静态初始化就是由程序员显式指定每个数组元素的初始值,由系统决定数组长度
静态初始化有以下两种方式:
type[] arrayName = new type[]{element1,element2……};
或type[] arrayName = {element1,element2……};
其中type就是该数组的类型,arrName是数组的名字,element即数组的各个元素
动态初始化
所谓动态初始化就是程序员只指定数组长度,由系统为数组元素分配初始值 动态初始化的语法有以下方式:
type[] arrName = new type[7];
因为数组是final修饰的,所以也就意味着它已经创建长度就不可以在改变。那么当我们使用数组的时候需要改变长度的操作时应该怎么办呢。接下来我们就来了解一下关于数组的这一系列操作首先我们先创建一个类,用来存储数组操作的一系列方法
1. 一维数组的增
由于数组长度不可变,所以我们需要一些小手段达成一种看上去扩容的效果。首先我们需要创建一个长度比原数组多一个的新数组
然后将原数组的内容全部复制到新数组中,并将要插入的数字放在最后一个元素中
最后我们需要将原数组的引用指向新数组,就可以达到预期效果
2. 一维数组的删
删除的操作思路有些不同,在创建新数组之前,我们需要做一些处理。那就是当数组的长度为0的时候不可以再进行删除,否则会出现java.long.NegativeArraySizeException,所以我们先用if处理这种情况
然后我们需要创建一个长度比原数组少一个的新数组。然后我们要了解一下删除的步骤
1>将要删除的元素之前的元素复制到新数组
2>将要删除的元素之后的元素复制到新数组之后的位置
最后再像之前一样,将原数组的引用指向新数组
3 一维数组的改
改的思路很简单,只需要返回对应的值即可,不过依旧需要注意数组的空问题,然后返回值
4. 一维数组的查
一上来我们依旧先进性判断是否为空,返回数组对应下标的值
那么到现在我们的一维数组的增删改查就写完了,我们来创建一个main方法来测试一下
运行结果
以上就是我对一维数组的一部分理解,有关一维数组的介绍就短暂探究到这里,有关二维数组的增删改查我会在之后的一篇管理系统为例的程序里进行介绍,欢迎评论与指正