davidbermudez.github.io/Java

View on GitHub

Apuntes de Programación en JAVA

Arrays

Son tipos de datos Homogéneos, estáticos y lineales.

Funciones de arrays

// Ordenar un array (QuickSort)
    Arrays.sort(array);
    // Copiar un array
    int[] array1 = {1, 2, 3, 4, 5, 6, 7, 8};
    int[] array2 = Arrays.copyOf(array1, array1.length);
    // Comparar dos arrays
    Arrays.compare(array1, array2);
    // Copiar un trozo del array
    array2 = Arrays.copyOfRange(array1, 5, 10);
    

Funciones de utilidad ARRAYS

public static void rellenaAleatorioMaxMinInt(int[] a, int min, int max) {
        // Completa un array con valores enteros aleatorios dado un máximo y mínimo.
        Random r = new Random();
        for (int i = 0; i < a.length; i++) {
            a[i] = r.nextInt(max - min + 1) + min;
        }
    }
    
public static int[] borraDeArray(int[] a, int pos) {
        // Devuelve un array igual al enviado quitando el elemento indicado por 'pos'
        int[] b;
        b = new int[a.length - 1];
        for (int i = 0; i < a.length - 1; i++) {
            if (i < pos) {
                b[i] = a[i];
            } else {
                b[i] = a[i + 1];
            }
        }
        return b;
    }
    
public static boolean contiene(int[] a, int b) {
        // Función que comprueba si un elemento está en el array (sin convertir en 'lista')
        for (int i = 0; i < a.length; i++) {
            if (a[i] == b) {
                devuelve = true;
                i = a.length;
            }
        }
        return false;
    }
    
public static int[] elimina1ElementoArray(int[] a, int b) {
        // Utilizando las dos funciones anteriores, devuelve un array al que le hemos eliminado 
        // el primer elemento 'b' que encuentra, en el caso de que exista.
        int[] c;
        if (!contiene(a, b))
        {
            c = new int[a.length];
            c = a;
        }
        else
        {
            c = new int[a.length - 1];
            for (int i = 0; i < a.length; i++)
            {
                if (a[i] == b)
                {
                    c = borraDeArray(a, i);
                    return c;
                }
            }
        }
        return c;
    }
    
public static int[] eliminaElementosArray(int[] a, int b){
        // Devuelve un array tras eliminar todos los elementos 'b' que haya en el array pasado
        int[] d;
        d = a;
        for (int i = 0; i < a.length; i++) {
            if (b == a[i]) {
                d = elimina1ElementoArray(d, b);
            }
        }
        return d;
    }
    
public static int maxArray(int[] a) {
        // Devuelve el elemento mayor de un array
        int max = a[0];
        for (int i = 1; i < a.length; i++) {
            if (a[i] > max) {
                max = a[i];
            }
        }
        return max;
    }
    
public static int minArray(int[] a) {
        // Devuelve el elemento menor de un array
        int min = a[0];
        for (int i = 1; i < a.length; i++) {
            if (a[i] < min) {
                min = a[i];
            }
        }
        return min;
    }
    
private static void imprimeArray(int[] a)
    {
        // Presenta por pantalla un array
        System.out.print("[");
        for (int i = 0; i < a.length - 1; i++) {
            System.out.print(a[i] + ", ");
        }
        System.out.println(a[a.length - 1] + "]");
    }