数组浅谈

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];

相关文章:

  • 2021-11-06
  • 2021-12-14
  • 2021-09-12
  • 2018-09-11
  • 2022-01-12
  • 2021-12-18
  • 2021-11-30
  • 2021-12-15
猜你喜欢
  • 2020-03-24
  • 2021-12-15
  • 2020-02-29
  • 2017-11-23
  • 2021-12-10
  • 2021-10-22
  • 2021-08-06
相关资源
相似解决方案