java数组详解
产生随机数并逆序输出
随机数 逆序输出 结果数组排序 : 选择排序、冒泡排序
选择法排序的思路:
1.把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来
比较完后,第一位就是最小的
2.然后再从第二位和剩余的其他所有进行比较,只要比第二位小,就换到第二个位置来
比较完后,第二位就是第二小的
(从小到大)
冒泡法排序的思路:
第一步:从第一位开始,把相邻两位进行比较
如果发现前面的比后面的大,就把大的数据交换在后面,循环比较完毕后,最后一位就是最大的
第二步: 再来一次,只不过不用比较最后一位
增强型for循环更快遍历一个数组
增强型for循环 增强遍历找最大值增强型for循环只能用来取值,却不能用来修改数组里的值
复制数组
api的使用System.arraycopy(src, srcPos, dest, destPos, length) java中API的使用
src: 源数组、srcPos: 从源数组复制数据的起始位置、dest: 目标数组、destPos: 复制到目标数组的起始位置、length: 复制的长度
要注意下标的越界!!!
合并数组
二维数组
max实现二维数组的操作
定义一个5X5的二维数组。 然后使用随机数填充该二维数组。找出这个二维数组里,最大的那个值,并打印出其二维坐标
数组的工具类(好用且常用的类)
类中提供的方法Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能。 大大提高了开发人员的工作效率。
注意:下标最后一个取不到数组复制
与使用System.arraycopy进行数组复制类似的, Arrays提供了一个copyOfRange方法进行数组复制。不同的是System.arraycopy,需要事先准备好目标数组,并分配长度。 copyOfRange 只需要源数组就就可以了,通过返回值,就能够得到目标数组了。
说白了就是将数组中复制出来的值赋值给新数组
转字符串:只能转一维数组 排序 搜索 :如果数组中有多个相同的元素,查找结果是不确定的 (查找的是位置) 判断数组是否相同 向数组中填充 相同数据转换为字符串
如果要打印一个数组的内容,就需要通过for循环来挨个遍历,逐一打印但是Arrays提供了一个toString()方法,直接把一个数组,转换为字符串,来遍历查询。
步骤 结果对二维数组进行排序
参考思路:
1.先把二维数组使用System.arraycopy进行数组复制到一个一维数组
2.然后使用sort进行排序
3.最后再复制回到二维数组。
冒泡排序