Java Array Min Value minIndex(Number[] array)

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

Description

Returns the (first occurrence of the) index of the cell with the smallest number.

License

Open Source License

Parameter

Parameter Description
array the array to work on

Return

the index

Declaration

public static int minIndex(Number[] array) 

Method Source Code

//package com.java2s;
/*//  ww  w.ja v a2 s.c o m
 *   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) 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. minIndex(float[] xs)
  2. minIndex(int[] array)
  3. minIndex(int[] from)
  4. minIndex(int[] ints)
  5. minIndex(int[] values)
  6. minIndexGreaterThan(final double[] array, final double p)
  7. minInRowIndex(double[][] M, int row)
  8. minInt(int... values)
  9. minkowskiDistance(double[] coord1, double[] coord2)