Java Array Min Value min(Number[] array)

Here you can find the source of min(Number[] array)

Description

Returns the (first occurrence of the) smallest value in the given array.

License

Open Source License

Parameter

Parameter Description
array the array to work on

Return

the smallest value

Declaration

public static Number min(Number[] array) 

Method Source Code

//package com.java2s;
/*/*www.j a  va2 s .c om*/
 *   This program is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 3 of the License, or
 *   (at your option) any later version.
 *
 *   This program 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 General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    /**
     * Returns the (first occurrence of the) smallest value in the given array.
     * Null in case of zero-length arrays.
     *
     * @param array   the array to work on
     * @return      the smallest value
     */
    public static Number min(Number[] array) {
        int index;

        index = minIndex(array);

        if (index == -1)
            return null;
        else
            return array[index];
    }

    /**
     * Returns the (first occurrence of the) smallest value in the given array.
     * Integer.MIN_VALUE in case of zero-length arrays.
     *
     * @param array   the array to work on
     * @return      the smallest value
     */
    public static int min(int[] array) {
        Integer result;

        result = (Integer) min(toNumberArray(array));
        if (result == null)
            return Integer.MIN_VALUE;
        else
            return result;
    }

    /**
     * Returns the (first occurrence of the) smallest value in the given array.
     * -Double.MAX_VALUE in case of zero-length arrays.
     *
     * @param array   the array to work on
     * @return      the smallest value
     */
    public static double min(double[] array) {
        Double result;

        result = (Double) min(toNumberArray(array));
        if (result == null)
            return -Double.MAX_VALUE;
        else
            return result;
    }

    /**
     * Returns the (first occurrence of the) index of the cell with the smallest
     * number. -1 in case of zero-length arrays.
     *
     * @param array   the array to work on
     * @return      the index
     */
    public static int minIndex(Number[] array) {
        int result;
        int i;
        double minValue;

        result = -1;

        minValue = Double.MAX_VALUE;
        for (i = 0; i < array.length; i++) {
            if (array[i].doubleValue() < minValue) {
                minValue = array[i].doubleValue();
                result = i;
            }
        }

        return result;
    }

    /**
     * Returns the (first occurrence of the) index of the cell with the smallest
     * int. -1 in case of zero-length arrays.
     *
     * @param array   the array to work on
     * @return      the index
     */
    public static int minIndex(int[] array) {
        return minIndex(toNumberArray(array));
    }

    /**
     * Returns the (first occurrence of the) index of the cell with the smallest
     * double. -1 in case of zero-length arrays.
     *
     * @param array   the array to work on
     * @return      the index
     */
    public static int minIndex(double[] array) {
        return minIndex(toNumberArray(array));
    }

    /**
     * Turns the byte array into a Byte array.
     *
     * @param array   the array to convert
     * @return      the converted array
     */
    public static Number[] toNumberArray(byte[] array) {
        Byte[] result;
        int i;

        result = new Byte[array.length];
        for (i = 0; i < array.length; i++)
            result[i] = new Byte(array[i]);

        return result;
    }

    /**
     * Turns the short array into a Short array.
     *
     * @param array   the array to convert
     * @return      the converted array
     */
    public static Number[] toNumberArray(short[] array) {
        Short[] result;
        int i;

        result = new Short[array.length];
        for (i = 0; i < array.length; i++)
            result[i] = new Short(array[i]);

        return result;
    }

    /**
     * Turns the int array into a Integer array.
     *
     * @param array   the array to convert
     * @return      the converted array
     */
    public static Number[] toNumberArray(int[] array) {
        Integer[] result;
        int i;

        result = new Integer[array.length];
        for (i = 0; i < array.length; i++)
            result[i] = new Integer(array[i]);

        return result;
    }

    /**
     * Turns the long array into a Long array.
     *
     * @param array   the array to convert
     * @return      the converted array
     */
    public static Number[] toNumberArray(long[] array) {
        Long[] result;
        int i;

        result = new Long[array.length];
        for (i = 0; i < array.length; i++)
            result[i] = new Long(array[i]);

        return result;
    }

    /**
     * Turns the float array into a Float array.
     *
     * @param array   the array to convert
     * @return      the converted array
     */
    public static Number[] toNumberArray(float[] array) {
        Float[] result;
        int i;

        result = new Float[array.length];
        for (i = 0; i < array.length; i++)
            result[i] = new Float(array[i]);

        return result;
    }

    /**
     * Turns the double array into a Double array.
     *
     * @param array   the array to convert
     * @return      the converted array
     */
    public static Number[] toNumberArray(double[] array) {
        Double[] result;
        int i;

        result = new Double[array.length];
        for (i = 0; i < array.length; i++)
            result[i] = new Double(array[i]);

        return result;
    }
}

Related

  1. min(long[] arr)
  2. min(long[] array)
  3. min(long[] array)
  4. min(long[] array)
  5. min(Number... array)
  6. min(T first, T... others)
  7. min(T... values)
  8. min(T[] args)
  9. min(T[] inputArray, int i, int i0)