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] + "]");
}