{"id":1982,"date":"2018-02-07T23:04:44","date_gmt":"2018-02-08T04:04:44","guid":{"rendered":"https:\/\/www.manualjava.net\/?p=1982"},"modified":"2018-03-06T13:30:43","modified_gmt":"2018-03-06T18:30:43","slug":"arreglos-multidimensionales","status":"publish","type":"post","link":"https:\/\/www.manualjava.net\/?p=1982","title":{"rendered":"Arreglos multidimensionales"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-1997\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/02\/java27-300x95.png\" alt=\"\" width=\"291\" height=\"92\" srcset=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/02\/java27-300x95.png 300w, https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/02\/java27.png 399w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/p>\n<p><span style=\"color: #000000;\">Los arreglos vistos anteriormente se conocen como arreglos unidimensionales (una sola dimensi\u00f3n) y se caracterizan por tener un solo sub\u00edndice. Estos arreglos se conocen tambi\u00e9n por el t\u00e9rmino listas. Los arreglos multidimensionales son aquellos que tienen m\u00e1s de una dimensi\u00f3n y, en consecuencia, m\u00e1s de un \u00edndice. Los arreglos m\u00e1s usados son los de dos dimensiones, conocidos tambi\u00e9n por el nombre de tablas o matrices. Sin embargo, es posible crear arreglos de tantas dimensiones como requieran sus aplicaciones, esto es, tres, cuatro o m\u00e1s dimensiones.\u00a0<\/span><!--more--><\/p>\n<p><span style=\"color: #000000;\">Un arreglo de dos dimensiones equivale a una tabla con m\u00faltiples filas y columnas. Observe que en el arreglo bidimensional de la siguiente figura, si las filas se etiquetan de 0 a m y las columnas de 0 a n, el n\u00famero de elementos que tendr\u00e1 el arreglo ser\u00e1 el resultado del producto (m+1)*(n+1). El sistema para localizar un elemento ser\u00e1 a trav\u00e9s de las coordenadas representadas por su n\u00famero de fila y su n\u00famero de columna (a,b).<\/span><\/p>\n<p><span style=\"color: #000000;\">Estructura de un arreglo de dos dimensiones<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-2058 aligncenter\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/02\/arreglos3.png\" alt=\"\" width=\"213\" height=\"223\" \/><\/p>\n<h3><strong><span style=\"color: #000000;\">Sintaxis<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">La declaraci\u00f3n y creaci\u00f3n de un arreglo multidimensional es:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0tipo [] [] nombre_arreglo = new tipo[NumeroDeFilas][NumeroDeColumnas];<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplo<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0char [][]pagina = new char[50][80];<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0int [][]puestos = new int[6][8];<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0int matriz[][] = new int[4][2];<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0int matriz[][];\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ declara la variable arreglo\u00a0<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0matriz = new int[4][2];\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ crea el arreglo; lo asigna a la<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 variable tipo arreglo<\/span><\/p>\n<p><span style=\"color: #000000;\">En la declaraci\u00f3n, los corchetes que van despu\u00e9s del nombre de la variable matriz indican que matriz es una variable que har\u00e1 referencia a un arreglo de valores int. En la sentencia de asignaci\u00f3n, la variable arreglo matriz recibe la referencia a un nuevo arreglo de 4 filas y 2 columnas int.<\/span><\/p>\n<p><span style=\"color: #000000;\">Un arreglo de dos dimensiones en realidad es un arreglo de arreglos. Es decir, es un arreglo unidimensional, y cada elemento no es un valor entero, o de coma flotante o car\u00e1cter, sino que cada elemento es otro arreglo.<\/span><\/p>\n<h2><strong><span style=\"color: #000000;\">Inicializaci\u00f3n de arreglos multidimensionales<\/span><\/strong><\/h2>\n<p><span style=\"color: #000000;\"><span style=\"color: #000000;\">Los arreglos multidimensionales se pueden inicializar, al igual que los de una dimensi\u00f3n, cuando se declaran. La inicializaci\u00f3n consta de una lista de elementos separados por comas y encerradas entre llaves<\/span>.<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplo<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0int b[][] = {{2,1}, {3,4}};<\/span><\/p>\n<p><span style=\"color: #000000;\">Los valores del inicializador se agrupan por fila entre llaves. As\u00ed, 2 y 1 inicializan a b[0][0] y b[0][1], respectivamente; 3 y 4 inicializan a b[1][0] y b[1][1], respectivamente. Los arreglos multidimensionales se mantienen como arreglos de arreglos unidimensionales. Por lo tanto, el arreglo b en la declaraci\u00f3n anterior est\u00e1 realmente compuesto de dos arreglos unidimensionales separados: uno que contiene los valores en la primera lista inicializadora anidada {2,1} y uno que contiene los valores en la segunda lista inicializadora anidada {3,4}. As\u00ed, el arreglo b en s\u00ed es un arreglo de dos elementos, cada uno de los cuales es un arreglo unidimensional de valores int.<\/span><\/p>\n<h2><span style=\"color: #000000;\"><strong>Acceso a los elementos de un arreglo multidimensional<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">Se puede acceder a los elementos de arreglos bidimensionales de igual forma que a los elementos de un arreglo unidimensional. La diferencia reside en que los elementos bidimensionales deben especificarse los indices de la fila y la columna.<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Sintaxis<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0nombre_arreglo[indice_fila][indice_columna];<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplos<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0Tabla[2][3];<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0Resistencias[2][4];<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0AsientosLibres[5][12];<\/span><\/p>\n<h2><span style=\"color: #000000;\"><strong>Arreglos bidimensionales con filas de distintos tama\u00f1os<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">La forma que se representan los arreglos multidimensionales lo hace bastante flexibles. De hecho, los tama\u00f1os de las filas en el arreglo b no tienen que ser iguales.<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplo<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0\u00a0int b[][] = {{2,1}, {3,4,5}};<\/span><\/p>\n<p><span style=\"color: #000000;\">crea el arreglo entero b con dos elementos que representan las filas del arreglo bidimensional. Cada elemento de b es una referencia a un arreglo unidimensional de variables int. El arreglo int de la fila 0 es un arreglo unidimensional con dos elementos (2 y 1), y el arreglo int de la fila 1 es un arreglo unidimensional con tres elementos (3, 4 y 5).<\/span><\/p>\n<h2><span style=\"color: #000000;\"><strong>Creaci\u00f3n de arreglos bidimensionales mediante expresiones de creaci\u00f3n de arreglos<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">Un arreglo multidimensional con el mismo n\u00famero de columnas en cada fila puede crearse mediante una expresi\u00f3n de creaci\u00f3n de arreglos. Por ejemplo en las siguientes l\u00edneas se declara el arreglo b y se le asigna una referencia a un arreglo de tres por cuatro:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 int b[][] = new int[3][4];<\/span><\/p>\n<p><span style=\"color: #000000;\">En este caso, utilizamos los valores literales 3 y 4 para especificar el n\u00famero de filas y columnas, respectivamente, pero esto no es obligatorio. Los programas tambi\u00e9n pueden utilizar variables para especificar las dimensiones de los arreglos, ya que\u00a0<strong>new\u00a0<\/strong>crea arreglos en tiempo de ejecuci\u00f3n, no en tiempo de compilaci\u00f3n. Al igual que con los arreglos unidimensionales, los elementos de un arreglo multidimensional se inicializan cuando se crea el objeto arreglo.<\/span><\/p>\n<p><span style=\"color: #000000;\">Un arreglo multidimensional, en el que cada fila tiene un n\u00famero distinto de columnas, puede crearse de la siguiente manera:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0\u00a0int b[][] = new int[2][];\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ crea 2 filas<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 b[0] = new int[5];\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ crea 5 columnas para la fila 0<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 b[1] = new int[3];\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ crea 3 columnas para la fila 1<\/span><\/p>\n<p><span style=\"color: #000000;\">Estas sentencias o instrucciones crean un arreglo bidimensional con dos filas. La fila 0 tiene cinco columnas y la fila 1 tiene 3 columnas.<\/span><\/p>\n<h2><span style=\"color: #000000;\"><strong>Listas de arreglos (ArrayList)<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">Los arreglos son una construcci\u00f3n b\u00e1sica. En esta secci\u00f3n se explica la clase\u00a0<strong>ArrayList\u00a0<\/strong>que le permite reunir (coleccionar) objetos como si fueran tipos de datos b\u00e1sicos. La lista de arreglos ofrece dos ventajas:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">La lista de arreglos puede crecer y reducirse a medida que se necesita.<\/span><\/li>\n<li><span style=\"color: #000000;\">La clase ArrayList proporciona m\u00e9todos para muchas tareas comunes, como inserci\u00f3n y eliminar elementos.<\/span><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">La clase ArrayList es una clase gen\u00e9rica: ArrayList&lt;T&gt; re\u00fane objetos de tipo gen\u00e9rico T.<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Sintaxis<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">Para crear un ArrayList se declara de la siguiente manera:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0ArrayList nombre_lista = new ArrayList();<\/span><\/p>\n<p><span style=\"color: #000000;\">Si queremos trabajar con tipos de datos o cadenas tendr\u00edamos que usar ArrayList g\u00e9nerica y se declara de la siguiente manera:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0ArrayList&lt;String&gt; lista = new ArrayList();<\/span><\/p>\n<p><span style=\"color: #000000;\">As\u00ed, no se podr\u00e1 ingresar otro tipo de dato que no sean cadenas.\u00a0<a href=\"https:\/\/www.manualjava.net\/?p=2334\"><span style=\"color: #000080;\">(Ver Listas)<\/span><\/a><\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplo<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a01. Cantidad[] numeros = {5.0,4.5,7.5,14.0};<br \/>\n<\/span>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <span style=\"color: #000000;\">ArrayList&lt;Cantidad&gt; listaArticulos = new ArrayList();<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0Creaci\u00f3n, e inicializaci\u00f3n de una lista de arreglos Cantidad.<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a02. Definir una lista de arreglos de cuentas bancarias.<br \/>\n<\/span>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <span style=\"color: #000000;\">ArrayList&lt;CuentaBancaria&gt; cuentas = new ArrayList();<\/span><\/p>\n<h2><span style=\"color: #000000;\"><strong>M\u00e9todos de listas de arreglos (ArrayList)<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">La clase ArrayList forma parte del paquete java.util y tiene los siguientes m\u00e9todos:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">boolean add(Object elemento): A\u00f1ade un elemento al ArrayList y lo posiciona al final de la lista.<\/span><\/li>\n<li><span style=\"color: #000000;\">void add(int \u00edndice, Object elemento): A\u00f1ade un elemento en la posici\u00f3n indicada por el \u00edndice.<\/span><\/li>\n<li><span style=\"color: #000000;\">Object get(int \u00edndice): Devuelve un elemento de la posici\u00f3n indicada.<\/span><\/li>\n<li><span style=\"color: #000000;\">Object remove(int \u00edndice): Elimina un elemento en el \u00edndice indicado.<\/span><\/li>\n<li><span style=\"color: #000000;\">clear(): Elimina todos los elementos de la lista (ArrayList).<\/span><\/li>\n<li><span style=\"color: #000000;\">int indexOf(Object elemento): Devuelve el \u00edndice donde se encuenta el elemento. Si no se encuentra el elemento devuelve -1.<\/span><\/li>\n<li><span style=\"color: #000000;\">int size(): Devuelve el n\u00famero de elemento de la lista (ArrayList).<\/span><\/li>\n<li><span style=\"color: #000000;\">void set(int \u00edndice, Object elemento): Modifica un elemento que se encuentra en el \u00edndice indicado.<\/span><\/li>\n<\/ul>\n<h2><strong><span style=\"color: #000000;\">Bucle for each<\/span><\/strong><\/h2>\n<p><span style=\"color: #000000;\">Java 5.0 incorpor\u00f3 un nuevo tipo de bucle for, ya estudiado con anterioridad, que puede iterar a trav\u00e9s de todos los elementos de una colecci\u00f3n, incluso aunque no haya \u00edndices de los elementos, como sucede con los arreglos. Este nuevo tipo de bucle se denomina bucle for each o bucle for mejorado. Estos bucles se utilizan muy eficientemente en las clases colecci\u00f3n.\u00a0<a href=\"https:\/\/www.manualjava.net\/?p=1658\"><span style=\"color: #000080;\">(Ver sentencia-for each)<\/span><\/a><\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Sintaxis<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0for(tipo elemento : nombre_arreglo)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 sentencia;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0for(tipo elemento : nombre_colecci\u00f3n)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 sentencia;<\/span><\/p>\n<h3><strong><span style=\"color: #000000;\">Ejemplo<\/span><\/strong><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a01.\u00a0ArrayList&lt;String&gt; listasCadenas = new ArrayList();<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for(String cd : listasCadenas)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(cd);<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a02.\u00a0double []b = new double[30];<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ rellenar el arreglo<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for(double e : b)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0suma += e;<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Regla<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">El bucle for each puede hacer su c\u00f3digo mucho m\u00e1s claro y mucho menos propenso a errores. Si no se utiliza la variable con \u00edndice en un bucle for para una aplicaci\u00f3n diferente a realizar bucles (ciclos) a trav\u00e9s de los elementos de un arreglo, es preferible utilizar un bucle for each.<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplo<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">El bucle<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0for(double elemento : m)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ el arreglo m tiene el tipo double<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 elemento = 0.0;<\/span><\/p>\n<p><span style=\"color: #000000;\">es preferible a<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0for(int i=0;i&lt;a.length;i++)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 a[i] = 0.0;<\/span><\/p>\n<p><span style=\"color: #000000;\">Estos dos bucles realizan las mismas acciones, pero la segunda requiere un \u00edndice i para numerar los elementos del arreglo. La primera opci\u00f3n establece cada elemento del arreglo a 0.0 y significa: \u00abPara cada elemento de m se pone 0.0\u00bb. Se puede utilizar tambi\u00e9n el bucle for mejorado para recorrer todos los elementos de un arreglo lista.<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplo<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">El siguiente arreglo calcula el valor total de todas las cuentas de un banco.<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0ArrayList&lt;CuentaBanco&gt; listaCuentas = new ArrayList();<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0double suma=0.0;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0for(CuentaBanco c : listaCuentas){<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 suma = suma+c.leerSaldo();<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0}<\/span><\/p>\n<p><span style=\"color: #000000;\">Este bucle es equivalente al siguiente bucle ordinario:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0double suma=0.0;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0for(int j=0;j&lt;listaCuentas.size();j++){<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 CuentaBanco c = listaCuentas.get(j);<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 suma = suma+c.leerSaldo();<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0}<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los arreglos vistos anteriormente se conocen como arreglos unidimensionales (una sola dimensi\u00f3n) y se caracterizan por tener un solo sub\u00edndice. Estos arreglos se conocen tambi\u00e9n por el t\u00e9rmino listas. Los arreglos multidimensionales son aquellos que tienen m\u00e1s de una dimensi\u00f3n y, en consecuencia, m\u00e1s de un \u00edndice. Los arreglos m\u00e1s usados son los de dos &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.manualjava.net\/?p=1982\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":1997,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1982"}],"collection":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1982"}],"version-history":[{"count":46,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1982\/revisions"}],"predecessor-version":[{"id":2712,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1982\/revisions\/2712"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/media\/1997"}],"wp:attachment":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1982"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}