Java Array Copy arrayCopy(int[] array, int length)

Here you can find the source of arrayCopy(int[] array, int length)

Description

Copy an array into a new array with the given length.

License

Open Source License

Parameter

Parameter Description
array the array to be copied
length the number of array elements to be copied

Return

a new array with the given length.

Declaration

public static int[] arrayCopy(int[] array, int length) 

Method Source Code

//package com.java2s;
/*//from   w  ww . ja v  a  2  s  .  c o  m
 * This file is part of Herschel Common Science System (HCSS).
 * Copyright 2001-2010 Herschel Science Ground Segment Consortium
 *
 * HCSS is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 3 of
 * the License, or (at your option) any later version.
 *
 * HCSS is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General
 * Public License along with HCSS.
 * If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    /**
     * Copy an array into a new array with the given length.
     *
     * @param array  the array to be copied
     * @param length the number of array elements to be copied
     * @return a new array with the given length.
     */
    public static int[] arrayCopy(int[] array, int length) {
        int[] result = new int[length];
        length = Math.min(array.length, length);
        System.arraycopy(array, 0, result, 0, length);
        return result;
    }

    /**
     * Copy an array into a new array with the given length.
     *
     * @param array  the array to be copied
     * @param length the number of array elements to be copied
     * @return a new array with the given length.
     */
    public static double[] arrayCopy(double[] array, int length) {
        double[] result = new double[length];
        length = Math.min(array.length, length);
        System.arraycopy(array, 0, result, 0, length);
        return result;
    }

    /**
     * Double.NaN is ignored. If the array contains only Double.NaN, returns Double.NaN
     *
     * @param array the array of values
     * @return the min value
     */
    public static double min(double[] array) {
        double min = Double.NaN;
        int n = -1;
        for (int i = 0; i < array.length; i++) {
            if (!Double.isNaN(array[i])) {
                min = array[i];
                n = i;
                break;
            }
        }
        if (n == -1) {
            return Double.NaN;
        }
        for (int i = n + 1; i < array.length; i++) {
            if (min > array[i]) {
                min = array[i];
            }
        }
        return min;
    }
}

Related

  1. arrayCopy(char[] chars)
  2. arrayCopy(double[][] src)
  3. arrayCopy(final byte[] src, final byte[] dest)
  4. arrayCopy(final float[] arrayToCopy)
  5. arrayCopy(int[] array, int i0, int n, boolean isReverse)
  6. arrayCopy(int[] x)
  7. arrayCopy(int[][] source, int[][] destination)
  8. arraycopy(long src[], int srcOffset, long dest[], int destOffset, int limit)
  9. arraycopy(long[] src, int srcPos, long[] dest, int destPos, int length)