Java基础笔记16——数组的复制与排序
1.数组的复制
System.arraycopy(src, srcPos, dest, destPos, length);
其中:
src:源数组(要从哪个数组复制数据)
srcPos:从源数组指定的下标开始复制
dest:目标数组
destPos:从目标数组指定下标开始复制源数组中的数据
length:复制源数组数据的个数
2.数组的排序
Arrays.sort(数组名);
默认将数组按升序排序
3.例子:
package com.lqh.chapter01; import java.util.Arrays; public class _14array_method { public static void main(String[] args) { //1.复制数组 int[] list1 = new int[] { 1, 2, 3, 4, 5 }; int[] list2 = new int[] { 6, 7, 8, 9, 10 }; // Arrays.toString(数组):将数组转换为字符串 System.out.println("list1复制前的值为:" + Arrays.toString(list1)); System.out.println("list2复制前的值为:" + Arrays.toString(list2)); System.arraycopy(list1, 0, list2, 0, list1.length); System.out.println("---------------------------------------"); System.out.println("list1复制后的值为:" + Arrays.toString(list1)); System.out.println("list2复制后的值为:" + Arrays.toString(list2)); //此时发现,list2的所有值都被替换了 //想要将两个数组合并,可以新建一个新数组,再将两个数组依次复制进去 int[] merge = new int[list1.length + list2.length]; //将list1复制到merge中 System.arraycopy(list1, 0, merge, 0, list1.length); //将list2复制到merge中 System.arraycopy(list2, 0, merge, list2.length, list2.length); System.out.println("得到的merge数组为:" + Arrays.toString(merge)); //2.排序数组 int[] list = new int[] {4,5,1,6,2}; System.out.println("排序之前的list数组为:" + Arrays.toString(list)); Arrays.sort(list); System.out.println("排序之后的list数组为:" + Arrays.toString(list)); //降序输出 for (int i = list.length - 1; i >= 0; i--) { System.out.println(list[i]); } } }
输出结果为:
list1复制前的值为:[1, 2, 3, 4, 5]
list2复制前的值为:[6, 7, 8, 9, 10]
---------------------------------------
list1复制后的值为:[1, 2, 3, 4, 5]
list2复制后的值为:[1, 2, 3, 4, 5]
得到的merge数组为:[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
排序之前的list数组为:[4, 5, 1, 6, 2]
排序之后的list数组为:[1, 2, 4, 5, 6]
6
5
4
2
1