马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
数组(Array)界说:是多个类似范例的数据按照肯定次序分列的聚集,并使用一个名字定名
数组自己是引用数据范例,数组中的元素可以是任何数据范例
创建数组对象会在内存中开发一整块一连的空间。元素在内存中是依次细密分列的,有序的
数组一旦初始化完成,他的长度就是确定的,不能修改
1.一维数组的使用(6个根本点)
数组的声明和初始化
调用数组的指定元素
数组的属性;length体现数组的长度
数组的遍历
数组元素的默认初始化
整形数组元素的默认初始化值:0
浮点型:0.0
字符型:0 \u0000
boolean型:flase
引用数组范例:null
一维数组的内存分析
java中的内存结构是怎样分别的?起宰衡识一下JVM架构
将内存地区分别为5个部分:步调计数器,假造机栈,当地方法栈。堆,方法区
与现在数组相干的内存结构:假造机栈:用于存放方法中声明的变量如:arr
堆:用于存放数组中的实体
栈:先辈后出
堆:先辈先出
2.二维数组的根本使用
二维数组更像是一个表格,像Excel中的表格,大概围棋棋盘一样,一维数组内里套了一个一维数组
声明与初始化
调用数组的元素
数组的属性:长度
数组的遍历
数组元素的默认初始化
第一种
第二种
二维数组内存分析
3.数组的常见算法
1.数值型数组特性值统计
特性值涉及到:匀称值、最大值、最小值、总和等
2.数组元素的赋值(实际开发中,碰到的场景较多)
3.数组的复制
复制,重新给了一个地点
4.数组的反转
5.数组的扩容与缩容
6.数组元素的查找
次序查找:
长处:简单
缺点:实验服从低,时间复杂度O(N)
二分查找:
长处:实验服从高.实验的时间复杂度O(logN)
缺点:算法较为难一点,数组必须是有序排序
7.数组的排序
权衡排序算法的优劣:
1.时间复杂度:
2.空间复杂度:
3.稳固性:AB两个值相称,排序后AB的先后序次稳固,就是稳固的
冒泡排序:
时间复杂度:O(n²)
空间复杂度:O(1)
稳固排序
快速排序:
时间复杂度:O(nlog2n)
空间复杂度:O(nlog2n)
不稳固排序
4.工具类Array的使用
位置:在java.util.Arrays
比力两个数组的元素是否一次相称:Arrays.equals(int [] a,int[] b)
输出数组元素的信息:String toString(int[] a)
将指定值添补到数组之中:fill(int[] a,int val)
使用快速排序算法实现的排序:sort(int[] a)
二分查找:binarySearch(int[] a,int key)
返回负数体现没找到
5.数组使用中常见的非常小结
数组的索引越界非常:ArrayIndexOutOfBoundsException
空指针的非常:NullPointerException
6.企业真题
1.数组有没有length()这个方法?String有没有?
数组没有,length是属性
String有
2.为什么数组要从0开始编号,而不是1?
数组的索引,体现了数组元素间隔首地点的偏离量。第一个元素的地点与首地点类似,偏移量为零
|