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

posted @ 2021-09-14 19:50  `青红造了个白`  阅读(86)  评论(0编辑  收藏  举报