章节一:数组

[复制链接]
发表于 2026-6-3 17:50:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
数组(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?

数组的索引,体现了数组元素间隔首地点的偏离量。第一个元素的地点与首地点类似,偏移量为零
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表