Arreglos Irregulares
Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 6 de 59.
Un array irregular es un tipo especial de array 2D donde cada fila puede tener un número diferente de columnas. En otras palabras, es un array de arrays, y cada array "interno" puede tener una longitud diferente. Esto es diferente de un array 2D regular, donde todas las filas tienen el mismo número de columnas, formando una forma rectangular.
Los arrays jagged son útiles cuando necesitas almacenar datos que no encajan de manera ordenada en una cuadrícula rectangular. Por ejemplo, podrías usar un array jagged para almacenar las palabras en cada oración de un párrafo, donde cada oración tiene un número diferente de palabras.
Aquí se muestra cómo declarar e inicializar un array irregular en Java:
data_type[][] array_name = new data_type[number_of_rows][];
// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so onObserva que cuando declaras el array por primera vez, solo especificas el número de filas. Luego, inicializas cada fila por separado, especificando el número de columnas para esa fila.
Desafío
FácilCrea un método llamado createJaggedArray que tome un entero n como entrada y devuelva un array irregular de enteros. El array irregular debería tener la siguiente estructura:
- La primera fila debería tener 1 elemento.
- La segunda fila debería tener 2 elementos.
- La tercera fila debería tener 3 elementos.
- Y así sucesivamente, hasta la fila
n, que debería tenernelementos.
Inicializa cada elemento del array con el producto de sus índices de fila y columna (empezando desde 1). Por ejemplo, el elemento en la segunda fila y primera columna debería tener el valor 2 * 1 = 2.
Hoja de referencia
Un array irregular es un array 2D donde cada fila puede tener un número diferente de columnas, a diferencia de los arrays 2D regulares donde todas las filas tienen la misma longitud.
Para declarar e inicializar un array irregular:
data_type[][] array_name = new data_type[number_of_rows][];
// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so onAl declarar un array irregular, solo especificas el número de filas inicialmente, luego inicializas cada fila por separado con su número específico de columnas.
Pruébalo tú mismo
// Escribe tu código solo dentro de la clase. No escribas main() ni ningún código fuera de esta clase.
class CreateJaggedArray {
public static int[][] createJaggedArray(int n) {
// Escribe tu código aquí
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Arreglos Multidimensionales
Básicos de Arreglos 2DAccediendo a Elementos de Arreglos 2DBucles Anidados con Arreglos 2DResumen - Arreglos 2DSuma y Resta de MatricesArreglos IrregularesArreglos 3D y Más AlláPatrones Comunes de Arreglos 2DResumen - Todo Sobre Arreglos4HashSet Parte 1
¿Qué es un HashSet?Agregando un elementoEliminando un elementoComprobando si existe un elementoVacío y tamañoLimpiar y clonarResumen - HashSet7Manejo Básico de Errores
Básicos de Try-CatchBloque FinallyLanzamiento de ExcepcionesExcepciones Personalizadas2HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapAcceder a ValoresVerificar si una Clave ExisteModificar DiccionariosResumen - HashMap3HashMap Parte 2
Métodos de HashMapIterar con keySet()Iterar con entrySet()HashMap AnidadoResumen - Gestionar AlmacénResumen - Operaciones de HashMap6Flujo de Control Avanzado
Sentencias EtiquetadasExpresión SwitchCoincidencia de PatronesCláusulas de GuardiaResumen - Flujo de Control9Proyecto - Contador de Palabras Únicas
Entrada y Almacenamiento de TextoProcesamiento de Palabras