java复习-6
数组
定义:数组是定义相同类型数据的有序集合
数组的声明创建
//变量的类型 变量的类型 =变量的值
//定义
int []nums; //首选
int nums2 []; // c 和 c++
//使用new关键字
nums=new int[10];//真实分配空间 这里面可以存放10个int类型的数
//给数组元素赋值
nums[0]=1;
nums[1]=2;
nums[2]=3;
//数组长度
int a= nums.length;
//静态初始化:创建+赋值
int []a1= {1,2,3,4,5,6,7,8,9};
//动态初始化
int []b=new int [10];
b[0]=10;
内存分析(基础)
声明数组 int[] array; 将array压入栈
创建数组array=new int[10]; 在堆中开辟空间将空间分成10份
给数组赋值nums[0]=1;nums[1]=2;nums[2]=3; 给空间赋值
没有被赋值的空间都是0
数组的基本特点
数组一经创建大小就不可改变
必须是相同类型
数组中元素可以是任何类型
数组变量属引用类型,数组也可以看成对象,数组中的元素相当于对象的成员变量
多维数组
多维数组可以看成数组中存数组
int [][]a= {{1,2},{2,3}};
System.out.println(a[1][1]);
结果:
3
Arrays类
JDK中提供了一个专门用于操作数组的工具类,即Arrays类,位于java util 中。
返回类型 | 方法 | 说明 |
---|---|---|
String | toString(array) | 将数组array转换成字符串 |
void | sort(array) | 对数组进行升序排列 |
void | fill(arr,val) | 将数组arr全部元素赋值为val |
boolean | equals(arr1,arr2) | 判断两个数组是否相等 |
与arr类型相同 | copyOf(arr,length) | 将数组arr复制成一个长度为length的新数组 |
int | binarySearch(arr, val) | 查询元素val在arr中的下标值 |
稀疏数组–数据结构
稀疏数组可以看做是普通数组的压缩,但是这里说的普通数组是值无效数据量远大于有效数据量的数组