Arrays工具类的一些使用

教程来源于How2j
在这里插入图片描述

import java.util.Arrays;

//Arrsys工具类的使用
public class arraysTools {
    public static void main(String[] args){
        int[] arr = new int[]{18,3,5,92,33,21,5};
        int[] brr = new int[]{18,3,5,92,33,21,5};
        int[] crr = new int[]{18,3,5,92,33,21,4};
        int[] drr = new int[]{};
        arraysTools tool = new arraysTools();
        drr = tool.ArraysCopyOfRange(arr, 2, 7);
        tool.ArraystoString(drr);
        tool.Arrayssort(brr);
        tool.ArraysbinarySearch(arr,5);
        tool.Arraysequals(arr, brr);
        tool.Arraysfill(drr,7);



        //作业,二维数组复制到一维数组中并排序
        arrays2Dsort zuoye = new arrays2Dsort();
        zuoye.sort2D(zuoye.randomFill());
    }
    //数组复制,System.arraycopy(src,srcPos,dest,destPos,length)需要知道多个参数,
    //Arrays.copyOfRange(src,from,to)只需要知道原数组,以及起始位置
    public int[] ArraysCopyOfRange(int[] src,int from,int to){
//        int[] res = new int[to-from-1];
        int[] res = Arrays.copyOfRange(src,from,to);
        System.out.println("复制后的数组:"+Arrays.toString(res));
        return res;
    }

    //字符串转换,将数组转换为字符串,便于一次性展示,不需要for循环遍历
    public void ArraystoString(int[] src){
        String content = Arrays.toString(src);
        System.out.println("转换字符串toString后:"+content);
    }
    //排序sort
    public int[] Arrayssort(int[] src){
        Arrays.sort(src);
        System.out.println("sort排序后的数组:"+Arrays.toString(src));
        return src;
    }
    //搜索binarySearch
    public void ArraysbinarySearch(int[] src,int item){
        System.out.println("binarySearch查找到的数据"+item+"出现位置"+Arrays.binarySearch(src, item));
    }
    //判断是否相同equals
    public boolean Arraysequals(int[] src1,int[] src2){
        boolean res = Arrays.equals(src1,src2);
        System.out.println("经equals判断"+Arrays.toString(src1)+"  "+Arrays.toString(src2)+"这两个数组中的数据是否相同:"+res);
        return res;
    }
    //填充fill,填充同一个数据在数组中
    public int[] Arraysfill(int[] src,int item){
        Arrays.fill(src,item);
        System.out.println("待填充的数据:"+item+"填充后的数组:"+Arrays.toString(src));
        return src;
    }
}

class arrays2Dsort{
    //随机数填充数组
    public int[][] randomFill(){
        int[][] frr = new int[5][8];
        System.out.println("二维数组");
        for(int i=0;i<frr.length;i++){
            for(int j=0;j<frr[i].length;j++){
                frr[i][j] = (int)(Math.random()*100);
                System.out.print(frr[i][j]+"  ");
            }
            System.out.println();
        }
        return frr;
    }
    public void sort2D(int[][] src){
//        int[] temp = new int[40];
        int[] temp = new int[src.length*src[0].length];
        for(int i=0;i<src.length;i++){
            //System.arraycopy(src[i],0,temp,i*8,8);
            System.arraycopy(src[i],0,temp,i*src[0].length,src[0].length);
//            这是错误的int[] temp = Arrays.copyOfRange(src,src[i][0],src[i].length);
        }
        arraysTools tool = new arraysTools();
        tool.Arrayssort(temp);
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值