大家好,又见面了,我是你们的朋友全栈君。
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、常见排序算法性能
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154407.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...