Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Dominando Arrays en Java: Guía Completa para Manejo Eficiente de Datos

Java proporciona una estructura de datos, el array, que almacena una colección secuencial de tamaño fijo de elementos del mismo tipo. Un array se usa para almacenar una colección de datos, pero es más útil pensarlo como una colección de variables del mismo tipo.

En lugar de declarar variables individuales como numero0, numero1, ..., numero99, declaras una variable array como numeros y usas numeros[0], numeros[1], ..., numeros[99] para representar variables individuales.

Este tutorial introduce cómo declarar variables array, crear arrays, y procesar arrays usando variables indexadas.

Declarando Variables Array

Para usar un array en un programa, debes declarar una variable que referencie el array y especificar el tipo de array que la variable puede referenciar. Sintaxis:

Sintaxis

tipoDato[] nombreArrayRef; // forma preferida
o
tipoDato nombreArrayRef[]; // funciona pero no preferida

Nota – El estilo tipoDato[] nombreArrayRef es preferido. El estilo tipoDato nombreArrayRef[] viene de C/C++ y se adoptó en Java para acomodar programadores de C/C++.

Ejemplo

double[] miLista; // preferido
double miLista[]; // funciona pero no preferido

Creando Arrays

Puedes crear un array usando el operador new:

Sintaxis

nombreArrayRef = new tipoDato[tamañoArray];

Esta sentencia hace dos cosas:

Declarar, crear y asignar se puede combinar en una sentencia:

tipoDato[] nombreArrayRef = new tipoDato[tamañoArray];

Alternativamente, puedes crear arrays así:

tipoDato[] nombreArrayRef = {valor0, valor1, ..., valork};

Los elementos se acceden mediante índice. Los índices son 0-based: de 0 a nombreArrayRef.length-1.

Ejemplo

La siguiente sentencia declara variable array miLista, crea array de 10 elementos double y asigna su referencia:

double[] miLista = new double[10];

La siguiente imagen representa array miLista. Aquí, miLista contiene diez valores double e índices de 0 a 9.

Dominando Arrays en Java: Guía Completa para Manejo Eficiente de Datos

Procesando Arrays

Al procesar elementos de array, a menudo usamos bucles for o foreach porque todos los elementos son del mismo tipo y el tamaño es conocido.

Ejemplo

Ejemplo completo de crear, inicializar y procesar arrays:

Demo en Vivo
public class TestArray {
  public static void main(String[] args) {
    double[] miLista = {1.9, 2.9, 3.4, 3.5};
    // Imprimir todos los elementos
    for (int i = 0; i < miLista.length; i++) {
      System.out.println(miLista[i] + " ");
    }
    // Sumar todos
    double total = 0;
    for (int i = 0; i < miLista.length; i++) {
      total += miLista[i];
    }
    System.out.println("Total es " + total);
    // Encontrar el mayor
    double max = miLista[0];
    for (int i = 1; i < miLista.length; i++) {
      if (miLista[i] > max) max = miLista[i];
    }
    System.out.println("Máximo es " + max);
  }
}

Resultado:

Salida

1.9 2.9 3.4 3.5
Total es 11.7
Máximo es 3.5

Bucles foreach

JDK 1.5 introdujo nuevo bucle for conocido como foreach o enhanced for loop, que permite recorrer el array completo secuencialmente sin variable de índice.

Ejemplo

Código que muestra todos los elementos en miLista:

Demo en Vivo
public class TestArray {
  public static void main(String[] args) {
    double[] miLista = {1.9, 2.9, 3.4, 3.5};
    for (double elemento : miLista) {
      System.out.println(elemento);
    }
  }
}

Resultado:

Salida

1.9 2.9 3.4 3.5

Pasando Arrays a Métodos

Al igual que puedes pasar valores de tipos primitivos a métodos, también puedes pasar arrays. Ejemplo: método que muestra elementos de array int:

Ejemplo

public static void printArray(int[] array) {
  for (int i = 0; i < array.length; i++) {
    System.out.print(array[i] + " ");
  }
}

Puedes invocarlo pasando un array. Ejemplo: muestra 3, 1, 2, 6, 4, 2:

Ejemplo

printArray(new int[]{3, 1, 2, 6, 4, 2});

Retornando un Array desde un Método

Un método puede también retornar un array. Ejemplo: método que retorna array inverso de otro:

Ejemplo

public static int[] reverse(int[] list) {
  int[] result = new int[list.length];
  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

La Clase Arrays

java.util.Arrays contiene varios métodos estáticos para ordenar, buscar, comparar arrays y rellenar elementos. Estos métodos están sobrecargados para todos los tipos primitivos.

NºMétodo y Descripción
1public static int binarySearch(Object[] a, Object key) – Busca en array de Object (Byte, Int, double, etc.) el valor especificado usando búsqueda binaria. El array debe estar ordenado. Retorna índice de la clave, si está contenida; si no, retorna (– (punto de inserción + 1)).
2public static boolean equals(long[] a, long[] a2) – True si dos arrays de long son iguales. Mismo método para otros tipos primitivos (Byte, short, Int, etc.)
3public static void fill(int[] a, int val) – Asigna valor int especificado a cada elemento del array de ints. Mismo método para otros tipos.
4public static void sort(Object[] a) – Ordena array de objetos en orden ascendente según orden natural. Mismo método para otros tipos primitivos.

Java

  1. Dominando arrays en C#: Declaración, inicialización y operaciones
  2. Arrays en C++: Declaración, inicialización y técnicas con punteros
  3. Asignación dinámica de arrays en C++: Guía práctica con ejemplos de código
  4. Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
  5. Técnicas de Copia de Arrays en Java: Guía Completa
  6. Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
  7. Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
  8. Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
  9. Tutorial de arrays en Java: Declaración, creación e inicialización – Código de ejemplo
  10. Crear un array de objetos en Java: Guía paso a paso
  11. Domine Bubble Sort en Java: Ejemplo Claro y Recorrido Paso a Paso