1、一维数组的举例
1-1 数组转字符串
使用 java.util.Arrays 包中提供的方法。
自己实现:要考虑空指针异常的情况
1-2 数组的拷贝
(1)自己实现一个数组的拷贝
(2)使用Array.copyOf( , )方法
(3)System.arraycopy(arr,2,copy,0,3);
(4)src_arr.clone()方法
(5) 简单理解:深拷贝和浅拷贝
深拷贝:修改拷贝后的数组,不影响原本数组的值
浅拷贝:修改拷贝后的数组,会影响原本数组的值
eg1:深拷贝
eg2:深拷贝
eg3:下面这个例子是 newArr这个引用指向了arr这个引用所指的对象,修改newArr数组的值也是会修改原数组arr的值
1-3 数组的翻转
1-4 数组排序【冒泡排序】
假设升序排序:
思路: 1.将数组相邻元素从前往后依次进行比较,如果前一个元素比后一个元素大,则交换两元素位置;一趟结束后最大的元素就排在了数组末端
2.依次重复上述过程,直至数组中所有的元素都排好
冒泡排序性能较低
. Java
中内置了更高效的排序算法 => Arrays.sort()
2、二维数组
-> 二维数组本质上也是一维数组
,
只不过每个元素又是一个一维数组。
->
基本语法:
数据类型
[][]
数组名称
=
new
数据类型
[
行数
][
列数
] {
初始化数据
};
-> eg1: int[ ][ ] array1 = {{1,2,3},{1,2,3}};
-> eg2: int[ ][ ] array2 = new int[ 2 ][ 3 ];
-> eg3: int[ ][ ] array3 = new int[ ][ ]{{1,2,3},{1,2,3}};
可以省略列数,不能省略行数
-> 遍历二维数组
for循环:
for-each: