introduction java arrays
Este tutorial presenta el concepto de matrices en Java. También hemos introducido temas relacionados como longitud, tipos de datos, clonación, copia, clasificación, etc. en matrices de Java:
En programación, siempre se trata de datos. Los datos deben almacenarse en ubicaciones de memoria y para poder acceder a ellos de vez en cuando y procesarlos en consecuencia, se les debe dar algún nombre. Esto se hace mediante variables.
Por lo tanto, si desea almacenar el valor 10 en la memoria, declarará una variable de tipo int y almacenará el valor como int num = 10;
Ahora suponga que el requisito de su programa es tal que necesita 10 variables de tipo int.
En este caso, deberá declarar 10 variables de tipo int de la siguiente manera:
int a1;
int a2;
int a3;
int a4;
int a5;
int a6;
int a7;
int a8;
int a9;
int a10;
Las declaraciones anteriores impondrán la carga innecesaria de mantenimiento al programador. En lugar de declarar tantas variables, ¿qué tal declarar una sola variable y luego tener todos estos 10 valores asignados a esta variable? Esto es lo que vamos a hacer cuando definimos una matriz y le asignamos valores.
Comencemos con las matrices en Java.
Lo que vas a aprender:
- Matriz de Java
- Java Array: creación e inicialización
- Imprimir elementos en matriz Java
- Longitud de la matriz en Java
- Tipos de datos de matriz de Java
- Matriz de cadenas de Java y varios métodos
- Matrices multidimensionales en Java
- Matriz de objetos Java
- Devolver una matriz en Java
- Clase de matriz de Java
- Matrices en Java 8
- Preguntas frecuentes
- Conclusión
Matriz de Java
Las matrices no son más que una estructura de datos que se utiliza para contener los elementos de datos del mismo tipo de forma secuencial. En el ejemplo anterior, puede cambiar la definición de diez variables en una sola variable y almacenar los diez valores usando subíndices.
Hagámoslo de la siguiente manera:
A[0] = 1;
A[1] = 2;
A[2] = 3;
A[3] = 4;
A[4] = 5;
A[5] = 6;
A[6] = 7;
A[7] = 8;
A[8] = 9;
A[9] = 10;
Hemos almacenado los diez valores en una variable basada en índices. El primer índice comienza desde 0. Por tanto, el primer valor está en 0thíndice y el último valor está en 9thíndice. Estos índices también se denominan subíndices.
En la memoria de la computadora, la matriz A anterior se representará como:
Ahora podemos definir una matriz como una variable que es una colección de elementos del mismo tipo de datos y se almacena en ubicaciones de memoria contiguas. El tamaño de una matriz se especifica en el momento de la declaración y, por lo tanto, el tamaño es fijo.
Las matrices que vamos a discutir en este tutorial son matrices de tamaño fijo o estáticas. Java también admite matrices dinámicas llamadas 'ArrayList' cuyo tamaño se puede modificar sobre la marcha. Discutiremos ArrayList en detalle más adelante.
Algunas de las características de las matrices en Java se enumeran a continuación:
- En Java, una matriz es un objeto instanciado de una clase generada dinámicamente.
- Internamente, la matriz de Java implementa interfaces serializables y clonables.
- La matriz de Java también tiene una clase de objeto como clase principal.
- Puede almacenar valores de tipo integrados y derivados en matrices Java.
- Puede obtener la longitud de una matriz utilizando length member y no sizeof como en C / C ++.
- Java permite matrices tanto individuales como multidimensionales.
En este tutorial, presentaremos todos los conceptos de arreglos al lector que vamos
para cubrir en esta serie sobre matrices Java.
¡¡Empecemos!!
Java Array: creación e inicialización
Es necesario crear matrices para usarlas en el programa. La creación de matrices incluye especificar el tipo de datos de los elementos que la matriz va a contener, así como el número de elementos que la matriz va a contener.
Discutiremos la creación de matrices de varias formas y también con diferentes métodos mediante los cuales podemos inicializar matrices.
A continuación se muestra un ejemplo de uno de los métodos utilizados para la creación e inicialización de matrices.
|_+_|Producción:
En este programa, hemos declarado una matriz int y luego la instanciamos usando new. Luego, hemos inicializado elementos en los índices 0 y 1 con valores 1 y 3 respectivamente.
Finalmente, imprimimos todos los elementos de la matriz. Tenga en cuenta que los elementos que no inicializamos tienen valores predeterminados como 0 ya que el tipo de matriz es int.
Imprimir elementos en matriz Java
Cuando se utilizan matrices en programas, es probable que se muestren. Para mostrar elementos de matriz, empleamos métodos especiales como for loop, forEach loop, método toString de la clase Arrays, etc. Este tema incluye todos los métodos utilizados para imprimir elementos de matriz.
A continuación se muestra un programa que utiliza el método toString de la clase 'Arrays' para imprimir elementos de la matriz.
|_+_|Producción:
Longitud de la matriz en Java
La longitud de una matriz indica el número de elementos presentes en la matriz. A diferencia de C / C ++, donde usamos el operador 'sizeof' para obtener la longitud de la matriz, la matriz de Java tiene la propiedad 'length'. Exploraremos más sobre esta propiedad más adelante.
A continuación se muestra el programa que muestra la longitud de una matriz.
|_+_|Producción:
En este programa, hemos inicializado la matriz usando literal de matriz y luego usando la propiedad length mostramos el tamaño / longitud de la matriz.
Tipos de datos de matriz de Java
Puede tener matrices de todos los tipos de datos. En este tema, exploraremos matrices con diferentes tipos de datos y sus definiciones.
En el siguiente programa, hemos definido matrices de tipo int y string y mostramos sus respectivos contenidos .
|_+_|Producción:
Agregar un elemento a una matriz
La adición de un elemento a la matriz es una operación importante. Las matrices en Java son estáticas y de longitud fija. Por lo tanto, debe proporcionar un conjunto específico de operaciones para agregar un nuevo elemento a la matriz. Los diversos métodos para agregar un elemento a la matriz se discutirán aquí.
Uno de los métodos para agregar un elemento a la matriz es usar ArrayList como estructura intermedia. Convertimos la matriz a ArrayList. Luego agregamos el elemento a ArrayList y cambiamos ArrayList de nuevo a array.
El programa siguiente muestra esta implementación.
|_+_|Producción:
Eliminar / eliminar un elemento de una matriz
Eliminar un elemento de una matriz también es otra operación importante. Java no nos permite eliminar un elemento directamente. Entonces empleamos otras opciones para hacer esto.
A continuación se muestra la implementación de uno de los métodos para eliminar el elemento de una matriz usando una ArrayList .
|_+_|Producción:
Aquí, primero convertimos la matriz a ArrayList y luego eliminamos el elemento usando el método de ArrayList remove. Después de eso, convertimos ArrayList nuevamente a la matriz y mostramos la matriz modificada.
Copiar una matriz en Java
Discutiremos algunas de las operaciones para copiar elementos de matriz de una matriz a otra. También discutiremos la copia superficial y profunda de matrices.
Uno de esos métodos es el método copyOf () de la clase Arrays del paquete java.util .
|_+_|Producción:
El método 'copyOf' de la clase Arrays copia la matriz especificada como argumento junto con su longitud a otra matriz.
Clonación de una matriz en Java
También puede hacer un clon de una matriz en Java. Java proporciona un método para esto en el paquete ArrayUtils. Exploraremos más sobre la clonación aquí.
Implementemos un ejemplo simple que clona una matriz en Java.
|_+_|Producción:
Por lo tanto, la clonación es simplemente copiar utilizando un método diferente.
Ordenar matrices en Java
Ordenar los elementos de la matriz u ordenarlos en orden ascendente o descendente es una de las operaciones importantes. La mayoría de las aplicaciones necesitan que se ordenen sus datos. Java proporciona una clasificación de filtro para matrices. Discutiremos esto en detalle bajo clasificación.
A continuación se muestra un ejemplo sencillo de s orting una matriz en Jave usando el método Arrays.sort () .
|_+_|Producción:
Como se muestra arriba, el método de ordenación de la clase Arrays ordena los elementos de la matriz en orden ascendente.
Invertir una matriz en Java
Las matrices tampoco proporcionan la inversión de la secuencia de elementos. Al igual que eliminar, tenemos que hacer un cambio y lograr los resultados. En este tema, veremos los métodos para invertir una matriz.
El siguiente programa muestra el implementación de invertir una matriz .
|_+_|Producción:
Excepción ArrayIndexOutOfBounds
Cuando intenta acceder a elementos de la matriz más allá de la longitud especificada o un índice negativo, el compilador lanza la excepción 'ArrayIndexOutOfBounds'. Exploraremos más sobre esta excepción en nuestro tema relacionado.
|_+_|Producción :
En el programa anterior, tenemos una ArrayList con dos entradas e intentamos obtener la entrada en el índice 2 que no existe. Por lo tanto, el programa da la excepción IndexOutofBounds.
Matriz de cadenas de Java y varios métodos
Entre todos los tipos de datos admitidos por Java, String es el más importante. Por lo tanto, la matriz de tipo String también merece una discusión especial. Como los datos contenidos en una matriz de cadenas son principalmente texto, se proporcionan varios métodos para manipular el texto.
|_+_|Producción:
Este es un programa básico para la matriz de cadenas. Acabamos de declarar una matriz de cadenas y mostramos su contenido usando el bucle forEach.
Matrices multidimensionales en Java
Hasta ahora solo hemos visto matrices unidimensionales. Java también admite matrices multidimensionales que tienen elementos organizados principalmente en filas y columnas. Las matrices en Java se vuelven más complejas ya que cada elemento de la matriz puede contener otra matriz.
Exploraremos matrices multidimensionales en Java junto con sus operaciones específicas aquí.
Implementemos un ejemplo de una matriz bidimensional.
|_+_|Producción:
el mejor software de firewall para Windows 10
Matriz de objetos Java
Además de almacenar tipos primitivos, las matrices java también pueden almacenar objetos. En este tema, exploraremos algunos ejemplos de una matriz de objetos.
A continuación se ofrece un ejemplo.
|_+_|Producción:
Podemos tener matrices que contengan elementos como objetos. En el programa anterior, tenemos una matriz de objetos de la clase Test. Llamamos individualmente a funciones miembro para cada objeto para establecer y mostrar los valores.
Devolver una matriz en Java
De la misma manera, en la que devolvemos una variable de cualquier método, también podemos devolver una matriz. De manera similar, podemos pasar una matriz a un método. Ambas posibilidades se analizarán con ejemplos aquí.
Por lo general, se pasa una referencia a la matriz a / desde un método.
El siguiente programa demuestra el retorno de una matriz en Java .
|_+_|Producción:
En el programa anterior, realizamos dos operaciones, es decir, suma y resta de dos números. El resultado de cada operación se almacena como un elemento en la matriz. Luego, toda la referencia de la matriz se devuelve a la función de llamada.
Clase de matriz de Java
La clase de matriz de Java es una clase del paquete java.util que proporciona la funcionalidad para manipular matrices. Proporciona muchas funciones como copiar una matriz, ordenar, convertir una matriz en una cadena, etc.
Matriz genérica de Java
Ya hemos visto genéricos en Java que son entidades independientes del tipo. Las matrices de Java pueden ser genéricas en las que se pueden definir como independientes de los tipos. Pero el código genérico no está disponible cuando se genera el código de bytes y, por lo tanto, es difícil deducir el tipo de elemento, la matriz se mantendrá en tiempo de ejecución.
Por lo tanto, en lugar de matrices, cambiamos a listas del marco de colecciones de Java siempre que se requieren genéricos.
Sin embargo, también podemos tener una estructura de matriz de tipo genérico empleando uno o más métodos. Aquí, exploraremos estos métodos.
A continuación se muestra un ejemplo de uno de los métodos que utilizan matrices de objetos.
|_+_|Producción:
Entonces, en el programa anterior, hemos escrito una clase de matriz genérica con una matriz de objetos como un elemento y métodos get / set para obtener / establecer objetos de matriz. También hemos anulado el método toString de la clase Arrays. En la clase Main, creamos dos objetos de una clase de matriz genérica de tipo Integer y String y les asignamos los valores apropiados.
Matrices irregulares en Java
Las matrices dentadas son matrices multidimensionales con cada matriz de miembros de diferentes tamaños. Una matriz irregular también es un ejemplo de una matriz de matrices.
El siguiente programa muestra un ejemplo de la matriz irregular.
|_+_|Producción:
Tenemos una matriz 2D en el programa anterior. La primera dimensión de la matriz es 4 mientras que la segunda es 2. La salida muestra el contenido de ambas dimensiones de la matriz irregular.
Matrices en Java 8
Como Java 8 fue una versión importante de Java, repasaremos los cambios que provocó en las matrices. Por ejemplo, Las secuencias en matrices se introdujeron en Java 8.
Importar matriz en Java
Podemos incluir funcionalidad adicional para matrices en Java importando la clase 'Arrays' del paquete 'java.util'.
También podemos importar el paquete arrayutils para más funcionalidades. Debe haber adquirido más conocimientos sobre la funcionalidad de importación de nuestros ejemplos anteriores.
API y documentación de Java Array
La API de matriz de Java es una colección de todas las funciones que actúan sobre las matrices de Java. Veremos esta interfaz de programación de aplicaciones (API) aquí.
Finalmente, hemos enumerado todas las propiedades y métodos junto con su descripción para las matrices Java. Esto ayudará a los lectores con una referencia rápida.
Preguntas frecuentes
P # 1) ¿Son las matrices tipos de datos primitivos en Java?
Responder: No. Las matrices no son tipos de datos primitivos, pero las matrices son objetos contenedores que contienen elementos del mismo tipo de datos en ubicaciones contiguas.
P # 2) ¿Son los tipos de referencia Arrays en Java?
Responder: Si. La matriz es un contenedor de objetos y se trata como referencias.
P # 3) ¿Puede aumentar el tamaño de una matriz en Java?
Responder: No. Usted declara matrices y crea una instancia con tamaño. Una vez especificado, no puede cambiar el tamaño de la matriz.
Conclusión
En este tutorial, le presentamos el concepto de matrices en Java. Discutimos los temas principales asociados con las matrices de Java.
En nuestros tutoriales posteriores, exploraremos estos temas relacionados con Array en Java en detalle.
¡¡Feliz aprendizaje!!
Lectura recomendada
- Tipos de datos, bucles, matrices, conmutadores y aserciones de Java
- Excepciones de Java y manejo de excepciones con ejemplos
- Tutorial de Java Generics con ejemplos
- Tutorial de interfaz Java y clase abstracta con ejemplos
- Introducción al lenguaje de programación Java - Tutorial en vídeo
- Tutorial Java String con String Buffer y String Builder
- Tutorial de JAVA para principiantes: más de 100 tutoriales prácticos en vídeo de Java
- Matrices multidimensionales y matrices irregulares en C #