数组浅谈

在这里插入图片描述

1.数组动态初始化(声明并开辟数组):数据类型[] 数组名称=new 数据类型[长度];

例:

int[] x=new int[3];

数组开辟空间后:

(1)数组的访问通过索引完成(数组的索引从0开始),访问超过索引访问会产生”java.lang.ArrayIndexOutOfException”异常信息。

(2)动态初始化开辟空间后 ,数组的每个元素都是该数据类型的默认值。

(3)数组是一个有序集合操作,对于数组的内容操作采用循环的模式完成。

(4)动态取得数组长度的方法:数组名称.length。

分步数组实例化:

           int[] x=null;

           x=new int[3];

数组为引用数据类型,使用前一定要实例化,否则产生异常:NullPoninterException

2.引用传递(数组为引用数据类型):

一块栈内存只能保存一块堆内存地址。

同一块堆内存空间可以被不同的栈内存所指向。

3.数组静态初始化:

数据类型[] 数组名=new 数据类型[] {值,值,….}

例:

 int[] x={1,2,3,4,5};

数组最大的缺陷:长度固定(存在数组越界问题)。

4.二维数组:

动态初始化:数据类型[][]
对象数组=new 数据类型[行个数][列个数];

例:int[][] x=new int[3][4];

静态初始化:数据类型[][]
对象数组=new 数据类型[][]{{值,值,….}, {值,值,….},….};

例:

int[][] x=new int[][]{{1,2,3},{4,5},{6,7,8,9}};

5.实现数组排序:

(1)选择排序

(2)冒泡排序

(3)二分查找:数组有序 Array.sort(array),只要是基本数据类型的数组,sort方法都可以进行排序处理(升序)。内部舒勇双轴快速排序。

(4)数组插入法

6.实现数组拷贝:

(1)System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度);

(2)Arrays.copyOf(源数组名称,新数组长度)

(3)使用clone:array2=array.clone();

(4)使用for循环

上面三种数组拷贝方法对于基本类型来说都是深拷贝,对于引用类型来说都是浅拷贝。

7.对象数组:(引用数据类型为主的定义:类,接口)

语法:类名称[] 对象数组名称=new 类名称[长度];

例:

Person[] per=new Person[3];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值