2022-10-28

一、System.arraycopy

public static void arrayCopy(int[] srcArr,int srcIndex,int[] destArr,int destIndex,int len) {
        for(int i = srcIndex,j = destIndex;i < srcIndex+len  && j < destIndex+len && i < srcArr.length && j < destArr.length ;i++,j++) {
            destArr[j] = srcArr[i];
        }
    }

二、Arrays.copyOf

public static int[] arrayCopy(int[] srcArr,int len) {
        if(len < srcArr.length) {
            System.out.println("新数组长度小于原数组");
            return null;
        }else {
            int[] destArr = new int[len];
            for(int i = 0;i < srcArr.length;i++) {
                destArr[i] = srcArr[i];
            }
            return destArr;
        }
    }

三、冒泡排序

public static void sort(int[] arr) {
        for(int j = 1;j < arr.length;j++) {
            for(int i = 0;i < arr.length-j;i++) {
                if(arr[i] > arr[i+1]) {
                    arr[i] = arr[i] ^ arr[i+1];
                    arr[i+1] = arr[i] ^ arr[i+1];
                    arr[i] = arr[i] ^ arr[i+1];
                }
            }
        }
        
    }

默认升序

四、Arrays.sort

Integer[] arr = {8,20,1,3,-1,6};
Arrays.sort(arr);

降序

        Arrays.sort(arr,new Comparator() {

            @Override
            public int compare(Integer o1, Integer o2) {
                // TODO Auto-generated method stub
                return o1 - o2;
                //默认规定大数在后
                
                
                
            }
            
        });

作业
1、邮箱正则表达式
2、数组劈开,把另一个数组的内容搞里头
3、定义一个工具类,有如下描述
(1)有一个数组类型变量作为属性
(2)提供一个无参构造方法,内部为属性中的数组变量赋一个数组对象,长度默认是10
(3)提供一个有参构造方法,参数为int型,创建一个该参数作为长度的数组
(4)提供一个增加Object类型元素的方法,如果到数组长度最大值,数组自动扩充为原来的1.5倍,只有一个Object类型的参数,
(5)提供一个根据索引获得该数组中元素的方法,只有一个int的型的参数,表示索引
(6)提供一个替换指定索引位置的元素的方法,两个参数,参数一,int型索引,参数二,Object型替换后的元素
(7)提供一个删除指定索引位置的元素的方法,只有一个参数,int型索引
(8)重写toString方法,展示数组中所有元素

你可能感兴趣的:(2022-10-28)