码迷,mamicode.com
首页 > 编程语言 > 详细

自制数组工具包(不断补充中)

时间:2016-05-01 01:08:31      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

public class ArrayTool {

    //构造方法私有化,因为都是静态方法,不需要建立对象
    private ArrayTool(){};

    /**
     * 该方法作用是 给定一个int[]数组和最大取值范围, 将每个元素填充上随机数返回给用户
     * @param arr        给定的数组arr
     * @param max        给定的最大取值范围 int整数
     * @return int[]    返回填充后的数组
     */
    public static int[] fill (int[] arr,int max){
        Random random = new Random();
        for (int i = 0; i < arr.length; i++) {
            arr[i] = random.nextInt(max);
        }
        return arr;
    }

    /**
     * 该方法作用是 给定一个int[][]数组和最大取值范围, 将每个元素填充上随机数返回给用户
     * @param arr[]        给定的数组arr
     * @param max        给定的最大取值范围 int整数
     * @return int[][]    返回填充后的数组
     */
    public static int[][] fill (int[][] arr,int max){
        Random random = new Random();
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                arr[i][j] = random.nextInt(max);
            }
        }
        return arr;
    }

    /**
     * 将给定的二维数组打印
     * @param arr[][]    给定的二维数组
     */
    public static void printArr2(int[][] arr){
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                if(j!= arr[i].length-1){
                    System.out.print("arr+["+i+"]"+"["+j+"]="+arr[i][j]+"\t");
                }else{
                    System.out.print("arr+["+i+"]"+"["+j+"]="+arr[i][j]+"\n");
                }
            }
        }
    }

    /**
     * 删除数组中的某一元素,不改变原来的数组顺序
     * @param arr            给定一个数组
     * @param index            给定要删除的下标
     * @return int[] arr    返回删除后的数组
     */
    public static int[] deleteKey(int[] arr,int index){
        for (int i = arr.length-1; i>index; i--) {
            for(int j = arr.length-1; j>index;j--){
                swap(arr,j,j-1);
            }
        }
        arr = Arrays.copyOf(arr, arr.length-1);
        return arr;
    }

    /**
     * 将给定数组反转
     * @param int[] arr     给定的数组
     * @return int[] arr 反转的数组
     */
    public static int[] reverse(int[] arr){
        for (int start = 0,end = arr.length-1; start < end; start++,end--) {
            swap(arr,start,end);
        }
        return arr;
    }

    /**
     * 替给定数组赋值N个数值,自定义输入数值
     * @param  int[] arr        给定数组
     * @param  amount            元素个数
     * @return int[] arr        赋值完毕的数组
     */
    public static int[] assign(int[] arr,int amount){
        Scanner scan = new Scanner(System.in);
        arr = new int[amount];
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第"+(i+1)+"个数值");
            arr[i] = scan.nextInt();
        }
        scan.close();
        return arr;
    }


    /**
     * 交换数组中两个元素的方法
     * @param arr
     * @param a
     * @param b
     */
    private static void swap(int[] arr,int a,int b){
        int temp = arr[a];
        arr[a] = arr[b];
        arr[b] = temp;
    }
}

 

自制数组工具包(不断补充中)

标签:

原文地址:http://www.cnblogs.com/zyjcxc/p/5449819.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!