前面二白讲了关于数组的概念、语法以及简单的输入输出,实际上关于数组的知识还有很多,接下来咱们讲一下冒泡排序以及一些常用的Arrays工具类,需要记忆的知识很多,而且容易混淆。
升序为例:
从头开始,每次比较相邻两数
小的交换到前面
每轮结束后最大的数交换到最后
代码实现:
将数组转换为字符串
例:
也可以简写直接输出,结果一样
对数组进行升序排序,可以写冒泡排序代码,也可以直接使用Arrays类中的sort()方法进行排序
例:
比较两个数组是否相同,如果两个数组中的元素个数,对应下标上的元素值相同,返回true,否则返回false
例:
1)static void fill(int[] a, int val)
将指定的 int 值分配给指定 int 型数组的每个元素。
例:
2)static void fill(int[] a, int fromIndex, int toIndex, int val)
将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。注意:包含fromIndex的元素,不包含toIndex的元素
static int[] copyOf(int[] original, int newLength)
复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
static int[] copyOfRange(int[] original, int from, int to)
将指定数组的指定范围复制到一个新数组。
注意:包含开始下标的元素值,不包含结束下标的元素值
扩展:除了上面的Arrays类中的copyOf()方法和copyOfRange()方法可以复制数组,System类中也有一个方法可以复制数组
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
1)static int binarySearch(int[] a, int key)
使用二分搜索法来搜索指定的 int 型数组,以获得指定的值。
注意:使用Arrays类中查找数组元素的方法之前,要对数组进行排序,否则不能保证查找结果的正确性
2)static int binarySearch(int[] a, int fromIndex, int toIndex, int key)
使用二分搜索法来搜索指定的 int 型数组的范围,以获得指定的值。注意:查找范围包含开始下标元素,不包括结束下标元素值