企业真题
数组有没有 length()
这个方法? String
有没有 length()
这个方法?
来源:?蓝
- 数组没有
length()
,是length
属性 String
有length()
方法
为什么数组要从 0 开始编号,而不是 1
来源:中?支付
数组的索引,表示了数组元素距离首地址的偏离量。因为第 1 个元素的地址与首地址相同,所以偏移量就是 0。
数组有什么排序的方式,手写一下
来源:平?保险
常见的十大排序算法:
- 冒泡
- 插入
- 选择
- 随机快排
- 归并
- 希尔
- 堆排
- 桶排
- 计数
- 基数
实际使用的排序:
- TimSort
- 快排 + 插入
搞笑:
- 猴子排序
- 睡眠排序
二分算法实现数组的查找
来源:神舟?天软件
略
Arrays
类的排序方法是什么?如何实现排序的?
来源:阿??巴
拓展练习
写出一维数组初始化的两种方式
int[] arr = new int[5]; // 动态初始化
String[] arr1 = new String[]{"Tom", "Jerry", "Jim"}; // 静态初始化
// 数组一旦初始化,其长度就是确定的、不可修改:arr.length
写出二维数组初始化的两种方式
int[][] arr = new int[4][3]; // 动态初始化 1
int[][] arr1 = new int[4][]; // 动态初始化 2
int[][] arr2 = new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8}}; // 静态初始化
不同类型的一维数组元素的默认初始化值各是多少
- 整型:0
- 浮点型:0.0
char
:0boolean
:false
- 引用类型:
null
高维数组的内存解析
数组中常见的异常有哪些?请举例说明
ArrayIndexOutOfBoundsException
:索引越界
// 合理范围:
[0, arr.length-1]
// 越界:
arr[-1]
arr[arr.length]
NullPointerException
:空指针
int[] arr = null;
arr[0];