Java数组

1、数组(Array):是多个相同类型数据按一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理。

1)数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括 基本数据类型和引用数据类型。

2)创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是 这块连续空间的首地址。

3)数组的长度一旦确定,就不能修改。

按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组(即对 象数组)

2、数组声明方式

type var[] 或 type[] var;

例如:

int a[]; int[] a1;

Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法

3、数据初始化

定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;

每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长 度(元素个数)

4、数组的默认初始值

5、内存简化结构

静态域:放一些被static关键字修饰的变量

常量池:String字符串

int[] arr1 = new int[4];
arr1[0] = 10;
arr1[2] = 20;
String[] arr2 = new String[3];
arr2[1] = “刘杰”;
arr2 = new String[5];

上图中的String字符串不应该放在堆内,应该放在常量池中,这里我们只是大致模拟一下内存。

JVM的垃圾回收机制采用引用计数算法,比如String[] arr2 = new String[3];执行之后,这个arr2上次分配的内存没有被其他变量引用,那么它就会被当成垃圾回收掉。

6、二维数组初始化

int[][] arr1 = new int[4][];
arr1[1] = new int[]{1,2,3};
arr1[2] = new int[4];
arr1[2][1] = 30;

int[][] arr4 = new int[3][];
sysout(arr4[0]);//null
sysout(arr4[0][0]);//报错
arr4[0] = new int[3];
arr4[0][1] = 5;
arr4[1] = new int[]{1,2};

 

 

 

7、Arrays工具类的一些方法

8、常见排序算法性能

 

posted @ 2021-04-26 12:13  kongbursi  阅读(379)  评论(0编辑  收藏  举报