[{"data":1,"prerenderedAt":1196},["ShallowReactive",2],{"navigation_docs":3,"-arreglos-array":412,"-arreglos-array-surround":1191},[4,18,43,118,160,200,231,320,346],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Evaluación","\u002Fintroduction","1.introduction\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Método de Evaluación","i-iconamoon-cheque-bold",{"title":13,"path":14,"stem":15,"icon":16},"Plataforma de Aprendizaje","\u002Fintroduction\u002Fplataforma","1.introduction\u002F2.plataforma","i-lucide-book-marked","i-lucide-house",{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":42},"Entorno de desarrollo","i-codicon-edit-code","\u002Fide","2.ide",[24,28,33,37],{"title":25,"path":26,"stem":27,"icon":20},"¿Qué es un IDE?","\u002Fide\u002Fentorno","2.ide\u002F1.entorno",{"title":29,"path":30,"stem":31,"icon":32},"Estructura de un Proyecto","\u002Fide\u002Festructura","2.ide\u002F2.estructura","i-clarity-tree-view-line",{"title":34,"path":35,"stem":36,"icon":20},"La compilación en un IDE","\u002Fide\u002Fcompilacion","2.ide\u002F3.compilacion",{"title":38,"path":39,"stem":40,"icon":41},"Depuración de Código","\u002Fide\u002Fdepurar","2.ide\u002F4.depurar","i-lucide-bug",false,{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":42},"Clases y Objetos","i-catppuccin-java-class","\u002Fclases-objetos","3.clases-objetos",[49,53,57,62,66,70,74,78,83,88,92,96,101,106,110,114],{"title":50,"path":51,"stem":52},"Repaso previo a Clases y Objetos","\u002Fclases-objetos\u002Fpreview","3.clases-objetos\u002F00.preview",{"title":54,"path":55,"stem":56,"icon":45},"¿Qué es la Programación Orientada a Objetos (POO)?","\u002Fclases-objetos\u002Fpoo","3.clases-objetos\u002F01.poo",{"title":58,"path":59,"stem":60,"icon":61},"Diagramas de Clases y Objetos","\u002Fclases-objetos\u002Fdiagramas","3.clases-objetos\u002F02.diagramas","i-devicon-uml",{"title":63,"path":64,"stem":65,"icon":45},"Las Clases","\u002Fclases-objetos\u002Fclases","3.clases-objetos\u002F03.clases",{"title":67,"path":68,"stem":69,"icon":45},"Ámbito y Visibilidad","\u002Fclases-objetos\u002Fambito","3.clases-objetos\u002F04.ambito",{"title":71,"path":72,"stem":73,"icon":45},"Declaración e Instanciación de Objetos","\u002Fclases-objetos\u002Fobjetos","3.clases-objetos\u002F05.objetos",{"title":75,"path":76,"stem":77,"icon":45},"Clases Predefinidas en Java","\u002Fclases-objetos\u002Fpredefinidas","3.clases-objetos\u002F06.predefinidas",{"title":79,"path":80,"stem":81,"icon":82},"Paquetes en Java","\u002Fclases-objetos\u002Fpaquetes","3.clases-objetos\u002F07.paquetes","i-material-icon-theme-folder-java-open",{"title":84,"path":85,"stem":86,"icon":87},"Las Excepciones","\u002Fclases-objetos\u002Fexcepciones","3.clases-objetos\u002F08.excepciones","i-catppuccin-java-exception",{"title":89,"path":90,"stem":91,"icon":45},"La clase JOptionPane","\u002Fclases-objetos\u002Fjoptionpane","3.clases-objetos\u002F09.joptionpane",{"title":93,"path":94,"stem":95,"icon":45},"Constructores y Accesores","\u002Fclases-objetos\u002Fconstructores","3.clases-objetos\u002F10.constructores",{"title":97,"path":98,"stem":99,"icon":100},"Tipos Enumerados (Enums)","\u002Fclases-objetos\u002Fenumerados","3.clases-objetos\u002F11.enumerados","i-catppuccin-java-enum",{"title":102,"path":103,"stem":104,"icon":105},"Modificadores de acceso static y final","\u002Fclases-objetos\u002Fmodificadores","3.clases-objetos\u002F12.modificadores","i-mdi-chart-box",{"title":107,"path":108,"stem":109,"icon":105},"El casting en Java","\u002Fclases-objetos\u002Fcasting","3.clases-objetos\u002F13.casting",{"title":111,"path":112,"stem":113},"Las Expresiones Regulares","\u002Fclases-objetos\u002Fexpresiones-regulares","3.clases-objetos\u002F14.expresiones-regulares",{"title":115,"path":116,"stem":117,"icon":105},"Clases Genéricas en Java","\u002Fclases-objetos\u002Fclases-genericas","3.clases-objetos\u002F15.clases-genericas",{"title":119,"icon":120,"path":121,"stem":122,"children":123,"page":42},"Funciones (Métodos)","i-material-symbols-function","\u002Fmetodos","4.metodos",[124,128,132,136,140,144,148,152,156],{"title":125,"path":126,"stem":127},"Funciones Genéricas","\u002Fmetodos\u002Ffuncion-generica","4.metodos\u002F01.funcion-generica",{"title":129,"path":130,"stem":131},"Métodos de Instancia y de Clase","\u002Fmetodos\u002Finstancia-clase","4.metodos\u002F02.instancia-clase",{"title":133,"path":134,"stem":135},"Sobrecarga de Funciones","\u002Fmetodos\u002Fsobrecarga","4.metodos\u002F03.sobrecarga",{"title":137,"path":138,"stem":139},"Alcance de Variables y Métodos","\u002Fmetodos\u002Falcance","4.metodos\u002F04.alcance",{"title":141,"path":142,"stem":143},"Recursividad","\u002Fmetodos\u002Frecursividad","4.metodos\u002F05.recursividad",{"title":145,"path":146,"stem":147},"Puntero this","\u002Fmetodos\u002Fthis","4.metodos\u002F06.this",{"title":149,"path":150,"stem":151},"Los argumentos variables (varargs)","\u002Fmetodos\u002Fvarargs","4.metodos\u002F07.varargs",{"title":153,"path":154,"stem":155},"La clase Arrays","\u002Fmetodos\u002Farrays","4.metodos\u002F08.arrays",{"title":157,"path":158,"stem":159},"Predicados Simples y Compuestos en Java","\u002Fmetodos\u002Fpredicados","4.metodos\u002F09.predicados",{"title":161,"path":162,"stem":163,"children":164,"icon":199},"Herencia","\u002Fherencia","5.herencia\u002F01.index",[165,167,171,175,179,183,187,191,195],{"title":166,"path":162,"stem":163},"¿Qué es la herencia?",{"title":168,"path":169,"stem":170},"Sobreescritura de métodos y uso de `super`","\u002Fherencia\u002Fsobeescritura","5.herencia\u002F02.sobeescritura",{"title":172,"path":173,"stem":174},"Tipos de herencia","\u002Fherencia\u002Ftipos-herencia","5.herencia\u002F03.tipos-herencia",{"title":176,"path":177,"stem":178},"La clase Object en Java","\u002Fherencia\u002Fobject","5.herencia\u002F04.object",{"title":180,"path":181,"stem":182},"Polimorfismo","\u002Fherencia\u002Fpolimorfismo","5.herencia\u002F05.polimorfismo",{"title":184,"path":185,"stem":186},"Clases y Funciones Abstractas","\u002Fherencia\u002Fabstract","5.herencia\u002F06.abstract",{"title":188,"path":189,"stem":190},"Interfaces","\u002Fherencia\u002Finterfaces","5.herencia\u002F07.interfaces",{"title":192,"path":193,"stem":194},"Funciones e Interfaces","\u002Fherencia\u002Ffunciones-interfaces","5.herencia\u002F08.funciones-interfaces",{"title":196,"path":197,"stem":198},"Interfaces y Funciones Lambda","\u002Fherencia\u002Flambda-interface","5.herencia\u002F09.lambda-interface","i-material-symbols-heritage",{"title":201,"path":202,"stem":203,"children":204,"icon":199},"Arreglos","\u002Farreglos","6.arreglos\u002F01.index",[205,207,211,215,219,223,227],{"title":206,"path":202,"stem":203},"Los arreglos en Java",{"title":208,"path":209,"stem":210},"Los arreglos","\u002Farreglos\u002Farray","6.arreglos\u002F02.array",{"title":212,"path":213,"stem":214},"Matrices","\u002Farreglos\u002Fmatrices","6.arreglos\u002F03.matrices",{"title":216,"path":217,"stem":218},"Comparadores","\u002Farreglos\u002Fcomparator","6.arreglos\u002F04.comparator",{"title":220,"path":221,"stem":222},"Arreglos dinámicos: ArrayList","\u002Farreglos\u002Farraylist","6.arreglos\u002F05.arraylist",{"title":224,"path":225,"stem":226},"Arreglos Relacionales: HashMap","\u002Farreglos\u002Fhashmap","6.arreglos\u002F06.hashmap",{"title":228,"path":229,"stem":230},"La clase Stream en Java","\u002Farreglos\u002Fstream","6.arreglos\u002F07.stream",{"title":232,"icon":199,"path":233,"stem":234,"children":235,"page":42},"Archivos e Interfaz de Usuario","\u002Farchivos-ui","7.archivos-ui",[236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316],{"title":237,"path":238,"stem":239},"El paquete Swing","\u002Farchivos-ui\u002Fswing","7.archivos-ui\u002F01.swing",{"title":241,"path":242,"stem":243},"La clase JFrame y el JPanel","\u002Farchivos-ui\u002Fjpanel","7.archivos-ui\u002F02.jpanel",{"title":245,"path":246,"stem":247},"Los Layouts en Swing","\u002Farchivos-ui\u002Flayout","7.archivos-ui\u002F03.layout",{"title":249,"path":250,"stem":251},"Iniciando con Swing","\u002Farchivos-ui\u002Finiciando","7.archivos-ui\u002F04.iniciando",{"title":253,"path":254,"stem":255},"Las clases Color y Font en Swing","\u002Farchivos-ui\u002Fcolor-font","7.archivos-ui\u002F05.color-font",{"title":257,"path":258,"stem":259},"Etiquetas en Swing","\u002Farchivos-ui\u002Fetiquetas","7.archivos-ui\u002F06.etiquetas",{"title":261,"path":262,"stem":263},"Personalizando la apariencia de los componentes en Swing","\u002Farchivos-ui\u002Fpersonalizando","7.archivos-ui\u002F07.personalizando",{"title":265,"path":266,"stem":267},"Sobrescribiendo el método drawComponent() en Swing","\u002Farchivos-ui\u002Fdraw","7.archivos-ui\u002F08.draw",{"title":269,"path":270,"stem":271},"Manejando eventos en Swing","\u002Farchivos-ui\u002Feventos","7.archivos-ui\u002F09.eventos",{"title":273,"path":274,"stem":275},"Personalización de Componentes mediante la Extensión de Clases en Swing","\u002Farchivos-ui\u002Fextends-component","7.archivos-ui\u002F10.extends-component",{"title":277,"path":278,"stem":279},"Gradientes","\u002Farchivos-ui\u002Fgradientes","7.archivos-ui\u002F11.gradientes",{"title":281,"path":282,"stem":283},"Botones en Swing","\u002Farchivos-ui\u002Fbotones","7.archivos-ui\u002F12.botones",{"title":285,"path":286,"stem":287},"Los delegadores en Swing","\u002Farchivos-ui\u002Fdelegadores","7.archivos-ui\u002F13.delegadores",{"title":289,"path":290,"stem":291},"UI para nuestro RPG: Parte 1","\u002Farchivos-ui\u002Frpg-ui-1","7.archivos-ui\u002F14.rpg-ui-1",{"title":293,"path":294,"stem":295},"UI para nuestro RPG: Parte 2","\u002Farchivos-ui\u002Frpg-ui-2","7.archivos-ui\u002F15.rpg-ui-2",{"title":297,"path":298,"stem":299},"Los Streams Entrada y Salida","\u002Farchivos-ui\u002Fstreams","7.archivos-ui\u002F16.streams",{"title":301,"path":302,"stem":303},"Archivo tipo Objeto","\u002Farchivos-ui\u002Farchivo-objeto","7.archivos-ui\u002F17.archivo-objeto",{"title":305,"path":306,"stem":307},"UI para nuestro RPG: Parte 3","\u002Farchivos-ui\u002Frpg-ui-3","7.archivos-ui\u002F18.rpg-ui-3",{"title":309,"path":310,"stem":311},"UI para nuestro RPG: Parte 4","\u002Farchivos-ui\u002Frpg-ui-4","7.archivos-ui\u002F19.rpg-ui-4",{"title":313,"path":314,"stem":315},"UI para nuestro RPG: Parte 5","\u002Farchivos-ui\u002Frpg-ui-5","7.archivos-ui\u002F20.rpg-ui-5",{"title":317,"path":318,"stem":319},"UI para nuestro RPG: Parte 6","\u002Farchivos-ui\u002Frpg-ui-6","7.archivos-ui\u002F21.rpg-ui-6",{"title":321,"icon":322,"path":323,"stem":324,"children":325,"page":42},"Ejemplos","i-check-circle","\u002Fejemplos","8.ejemplos",[326,330,334,338,342],{"title":327,"path":328,"stem":329,"icon":105},"Ejemplo 1: Validando entradas con JOptionPane","\u002Fejemplos\u002Fejemplo-01","8.ejemplos\u002F01.ejemplo-01",{"title":331,"path":332,"stem":333},"Ejemplo 02: Uso de clases genéricas en Java","\u002Fejemplos\u002Fejemplo-02","8.ejemplos\u002F02.ejemplo-02",{"title":335,"path":336,"stem":337},"Ejemplo 03: Uso de Enum, Excepciones en Java","\u002Fejemplos\u002Fejemplo-03","8.ejemplos\u002F03.ejemplo-03",{"title":339,"path":340,"stem":341},"Ejemplo 4: Clase con funciones genéricas de validación","\u002Fejemplos\u002Fejemplo-04","8.ejemplos\u002F04.ejemplo-04",{"title":343,"path":344,"stem":345},"Ejemplo 5: Sistema de Gestión de Empleados","\u002Fejemplos\u002Fejemplo-05","8.ejemplos\u002F05.ejemplo-05",{"title":347,"icon":322,"path":348,"stem":349,"children":350,"page":42},"Actividades","\u002Factividades","9.actividades",[351,355,360,364,368,372,376,380,384,388,392,396,400,404,408],{"title":352,"path":353,"stem":354,"icon":105},"Actividad 1: Infografía sobre el proceso de compilación","\u002Factividades\u002Fact-01","9.actividades\u002F01.act-01",{"title":356,"path":357,"stem":358,"icon":359},"Actividad 2: Modelando Diagramas de Clases UML","\u002Factividades\u002Fact-02","9.actividades\u002F02.act-02","i-material-icon-theme-uml",{"title":361,"path":362,"stem":363,"icon":45},"Actividad 3: Creando Clases y Objetos en Java","\u002Factividades\u002Fact-03","9.actividades\u002F03.act-03",{"title":365,"path":366,"stem":367},"Actividad 4: Validando entradas de datos","\u002Factividades\u002Fact-04","9.actividades\u002F04.act-04",{"title":369,"path":370,"stem":371,"icon":105},"Actividad 5: Implementando una clase genérica","\u002Factividades\u002Fact-05","9.actividades\u002F05.act-05",{"title":373,"path":374,"stem":375,"icon":105},"Actividad 6: Expandiendo InputValidator con Predicados y Function","\u002Factividades\u002Fact-06","9.actividades\u002F06.act-06",{"title":377,"path":378,"stem":379,"icon":105},"Actividad 7: Gestor de Biblioteca con InputValidator","\u002Factividades\u002Fact-07","9.actividades\u002F07.act-07",{"title":381,"path":382,"stem":383,"icon":105},"Actividad 8: Calculadora de Figuras Geométricas","\u002Factividades\u002Fact-08","9.actividades\u002F08.act-08",{"title":385,"path":386,"stem":387,"icon":105},"Actividad 9: gestión de una empresa agroalimentaria","\u002Factividades\u002Fact-09","9.actividades\u002F09.act-09",{"title":389,"path":390,"stem":391,"icon":105},"Actividad 10: Sistema de gestión de clínicas veterinarias","\u002Factividades\u002Fact-10","9.actividades\u002F10.act-10",{"title":393,"path":394,"stem":395},"Definición de Proyecto Evolutivo","\u002Factividades\u002Frpg","9.actividades\u002F11.rpg",{"title":397,"path":398,"stem":399},"Actividad 11: Creación de Personajes","\u002Factividades\u002Fact-11","9.actividades\u002F12.act-11",{"title":401,"path":402,"stem":403},"Actividad 12: El Inventario y los Objetos","\u002Factividades\u002Fact-12","9.actividades\u002F13.act-12",{"title":405,"path":406,"stem":407},"Actividad 13: El combate por turnos","\u002Factividades\u002Fact-13","9.actividades\u002F14.act-13",{"title":409,"path":410,"stem":411},"Actividad 14: Guardando y Cargando","\u002Factividades\u002Fact-14","9.actividades\u002F15.act-14",{"id":413,"title":208,"body":414,"description":1184,"extension":1185,"links":1186,"meta":1187,"navigation":1188,"path":209,"seo":1189,"stem":210,"__hash__":1190},"docs\u002F6.arreglos\u002F02.array.md",{"type":415,"value":416,"toc":1171},"minimark",[417,421,425,430,433,437,472,476,479,509,515,528,531,536,572,579,582,586,633,636,640,643,665,674,716,720,723,749,760,764,771,826,833,868,874,878,885,1148,1157,1161,1167],[418,419,208],"h1",{"id":420},"los-arreglos",[422,423,424],"p",{},"Anteriormente, hemos hablado sobre la clasificación de los arreglos, pero ahora es momento de profundizar en qué son exactamente los arreglos y cómo se utilizan en la programación.",[426,427,429],"h2",{"id":428},"qué-es-un-arreglo","¿Qué es un arreglo?",[422,431,432],{},"Un arreglo es una estructura de datos que permite almacenar múltiples valores del mismo tipo en una sola variable. Es como una lista ordenada de elementos, donde cada elemento tiene un índice que lo identifica. Los arreglos son muy útiles para organizar y manipular grandes cantidades de datos de manera eficiente.",[426,434,436],{"id":435},"características-de-los-arreglos","Características de los arreglos",[438,439,440,448,454,460,466],"ol",{},[441,442,443,447],"li",{},[444,445,446],"strong",{},"Tipo de datos homogéneo",": Todos los elementos de un arreglo deben ser del mismo tipo de datos, ya sea enteros, cadenas de texto, objetos, etc.",[441,449,450,453],{},[444,451,452],{},"Tamaño fijo",": En muchos lenguajes de programación, el tamaño de un arreglo se define al momento de su creación y no puede cambiarse posteriormente. Sin embargo, algunos lenguajes permiten arreglos dinámicos que pueden crecer o reducirse según sea necesario.",[441,455,456,459],{},[444,457,458],{},"Acceso por índice",": Los elementos de un arreglo se acceden mediante un índice, que generalmente comienza en 0. Por ejemplo, el primer elemento de un arreglo se encuentra en el índice 0, el segundo en el índice 1, y así sucesivamente.",[441,461,462,465],{},[444,463,464],{},"Eficiencia",": Los arreglos permiten un acceso rápido a los elementos, ya que se almacenan de manera contigua en la memoria. Esto hace que las operaciones de lectura y escritura sean muy eficientes.",[441,467,468,471],{},[444,469,470],{},"Multidimensionalidad",": Los arreglos pueden ser unidimensionales (listas), bidimensionales (matrices) o incluso multidimensionales, lo que permite representar estructuras de datos más complejas.",[426,473,475],{"id":474},"declaración-y-uso-de-arreglos","Declaración y uso de arreglos",[422,477,478],{},"La forma de declarar y utilizar arreglos varía según el lenguaje de programación. A continuación, se muestran ejemplos en Java:",[480,481,486],"pre",{"className":482,"code":483,"language":484,"meta":485,"style":485},"language-java shiki shiki-themes github-dark","\u002F\u002F Declaración de un arreglo de enteros\nT[] arreglo;\n","java","",[487,488,489,498],"code",{"__ignoreMap":485},[490,491,494],"span",{"class":492,"line":493},"line",1,[490,495,497],{"class":496},"sAwPA","\u002F\u002F Declaración de un arreglo de enteros\n",[490,499,501,505],{"class":492,"line":500},2,[490,502,504],{"class":503},"snl16","T",[490,506,508],{"class":507},"s95oV","[] arreglo;\n",[422,510,511,512,514],{},"En este caso, ",[487,513,504],{}," representa el tipo de datos que se almacenará en el arreglo. Por ejemplo, si queremos un arreglo de enteros, podríamos declarar:",[480,516,518],{"className":482,"code":517,"language":484,"meta":485,"style":485},"int[] arregloDeEnteros;\n",[487,519,520],{"__ignoreMap":485},[490,521,522,525],{"class":492,"line":493},[490,523,524],{"class":503},"int",[490,526,527],{"class":507},"[] arregloDeEnteros;\n",[422,529,530],{},"Una vez declarado el arreglo, es necesario inicializarlo para asignarle un tamaño y reservar espacio en la memoria. Esto se hace de dos maneras.",[532,533,535],"h3",{"id":534},"inicialización-con-new","Inicialización con new",[480,537,539],{"className":482,"code":538,"language":484,"meta":485,"style":485},"\u002F\u002F Inicialización de un arreglo de enteros con tamaño 5\nint[] arregloDeEnteros = new int[5];\n",[487,540,541,546],{"__ignoreMap":485},[490,542,543],{"class":492,"line":493},[490,544,545],{"class":496},"\u002F\u002F Inicialización de un arreglo de enteros con tamaño 5\n",[490,547,548,550,553,556,559,562,565,569],{"class":492,"line":500},[490,549,524],{"class":503},[490,551,552],{"class":507},"[] arregloDeEnteros ",[490,554,555],{"class":503},"=",[490,557,558],{"class":503}," new",[490,560,561],{"class":503}," int",[490,563,564],{"class":507},"[",[490,566,568],{"class":567},"sDLfK","5",[490,570,571],{"class":507},"];\n",[422,573,574,575,578],{},"Si bien con esto hemos creado un arreglo de enteros con un tamaño de 5, los elementos del arreglo se inicializan automáticamente con el valor predeterminado para enteros, que es 0. Sin embargo, si el arreglo es de otro tipo, como por ejemplo un arreglo de objetos, los elementos se inicializarán con ",[487,576,577],{},"null"," por defecto.",[422,580,581],{},"Es importante destacar que, una vez que se ha definido el tamaño del arreglo, no se puede cambiar. Si necesitamos un arreglo de un tamaño diferente, debemos crear uno nuevo y copiar los elementos del arreglo original si es necesario.",[532,583,585],{"id":584},"inicialización-con-valores","Inicialización con valores",[480,587,589],{"className":482,"code":588,"language":484,"meta":485,"style":485},"\u002F\u002F Inicialización de un arreglo de enteros con valores específicos\nint[] arregloDeEnteros = {1, 2, 3, 4, 5};\n",[487,590,591,596],{"__ignoreMap":485},[490,592,593],{"class":492,"line":493},[490,594,595],{"class":496},"\u002F\u002F Inicialización de un arreglo de enteros con valores específicos\n",[490,597,598,600,602,604,607,610,613,616,618,621,623,626,628,630],{"class":492,"line":500},[490,599,524],{"class":503},[490,601,552],{"class":507},[490,603,555],{"class":503},[490,605,606],{"class":507}," {",[490,608,609],{"class":567},"1",[490,611,612],{"class":507},", ",[490,614,615],{"class":567},"2",[490,617,612],{"class":507},[490,619,620],{"class":567},"3",[490,622,612],{"class":507},[490,624,625],{"class":567},"4",[490,627,612],{"class":507},[490,629,568],{"class":567},[490,631,632],{"class":507},"};\n",[422,634,635],{},"En ambos casos, hemos creado un arreglo de enteros con un tamaño de 5. En el primer caso, el arreglo se inicializa con valores predeterminados (0 para enteros), mientras que en el segundo caso, se asignan valores específicos al arreglo.",[426,637,639],{"id":638},"acceso-a-los-elementos-del-arreglo","Acceso a los elementos del arreglo",[422,641,642],{},"Una vez que tenemos un arreglo, podemos acceder a sus elementos utilizando su índice. Por ejemplo, para acceder al primer elemento de un arreglo de enteros, podemos usar:",[480,644,646],{"className":482,"code":645,"language":484,"meta":485,"style":485},"int primerElemento = arregloDeEnteros[0];\n",[487,647,648],{"__ignoreMap":485},[490,649,650,652,655,657,660,663],{"class":492,"line":493},[490,651,524],{"class":503},[490,653,654],{"class":507}," primerElemento ",[490,656,555],{"class":503},[490,658,659],{"class":507}," arregloDeEnteros[",[490,661,662],{"class":567},"0",[490,664,571],{"class":507},[422,666,511,667,670,671,673],{},[487,668,669],{},"primerElemento"," tendrá el valor ",[487,672,609],{},", que es el primer elemento del arreglo. De manera similar, podemos acceder a otros elementos utilizando sus respectivos índices.",[480,675,677],{"className":482,"code":676,"language":484,"meta":485,"style":485},"int segundoElemento = arregloDeEnteros[1]; \u002F\u002F valor 2\nint tercerElemento = arregloDeEnteros[2]; \u002F\u002F valor 3\n",[487,678,679,698],{"__ignoreMap":485},[490,680,681,683,686,688,690,692,695],{"class":492,"line":493},[490,682,524],{"class":503},[490,684,685],{"class":507}," segundoElemento ",[490,687,555],{"class":503},[490,689,659],{"class":507},[490,691,609],{"class":567},[490,693,694],{"class":507},"]; ",[490,696,697],{"class":496},"\u002F\u002F valor 2\n",[490,699,700,702,705,707,709,711,713],{"class":492,"line":500},[490,701,524],{"class":503},[490,703,704],{"class":507}," tercerElemento ",[490,706,555],{"class":503},[490,708,659],{"class":507},[490,710,615],{"class":567},[490,712,694],{"class":507},[490,714,715],{"class":496},"\u002F\u002F valor 3\n",[426,717,719],{"id":718},"modificación-de-los-elementos-del-arreglo","Modificación de los elementos del arreglo",[422,721,722],{},"También podemos modificar los elementos de un arreglo asignando nuevos valores a través de sus índices. Por ejemplo, para cambiar el valor del segundo elemento del arreglo, podemos hacer lo siguiente:",[480,724,726],{"className":482,"code":725,"language":484,"meta":485,"style":485},"arregloDeEnteros[1] = 10; \u002F\u002F Ahora el segundo elemento es 10\n",[487,727,728],{"__ignoreMap":485},[490,729,730,733,735,738,740,743,746],{"class":492,"line":493},[490,731,732],{"class":507},"arregloDeEnteros[",[490,734,609],{"class":567},[490,736,737],{"class":507},"] ",[490,739,555],{"class":503},[490,741,742],{"class":567}," 10",[490,744,745],{"class":507},"; ",[490,747,748],{"class":496},"\u002F\u002F Ahora el segundo elemento es 10\n",[422,750,751,752,755,756,759],{},"En este caso, el arreglo ",[487,753,754],{},"arregloDeEnteros"," ahora contiene los valores ",[487,757,758],{},"{1, 10, 3, 4, 5}"," después de la modificación.",[426,761,763],{"id":762},"recorriendo-un-arreglo","Recorriendo un arreglo",[422,765,766,767,770],{},"Para recorrer un arreglo y acceder a todos sus elementos, podemos utilizar un bucle. Por ejemplo, en Java, podemos usar un bucle ",[487,768,769],{},"for"," para iterar sobre el arreglo:",[480,772,774],{"className":482,"code":773,"language":484,"meta":485,"style":485},"for (int i = 0; i \u003C arregloDeEnteros.length; i++) {\n    System.out.println(arregloDeEnteros[i]);\n}\n",[487,775,776,808,820],{"__ignoreMap":485},[490,777,778,780,783,785,788,790,793,796,799,802,805],{"class":492,"line":493},[490,779,769],{"class":503},[490,781,782],{"class":507}," (",[490,784,524],{"class":503},[490,786,787],{"class":507}," i ",[490,789,555],{"class":503},[490,791,792],{"class":567}," 0",[490,794,795],{"class":507},"; i ",[490,797,798],{"class":503},"\u003C",[490,800,801],{"class":507}," arregloDeEnteros.length; i",[490,803,804],{"class":503},"++",[490,806,807],{"class":507},") {\n",[490,809,810,813,817],{"class":492,"line":500},[490,811,812],{"class":507},"    System.out.",[490,814,816],{"class":815},"svObZ","println",[490,818,819],{"class":507},"(arregloDeEnteros[i]);\n",[490,821,823],{"class":492,"line":822},3,[490,824,825],{"class":507},"}\n",[422,827,828,829,832],{},"Sin embargo, también podemos usar un bucle ",[487,830,831],{},"for-each"," para simplificar la sintaxis:",[480,834,836],{"className":482,"code":835,"language":484,"meta":485,"style":485},"for (int numero : arregloDeEnteros) {\n    System.out.println(numero);\n}\n",[487,837,838,855,864],{"__ignoreMap":485},[490,839,840,842,844,846,849,852],{"class":492,"line":493},[490,841,769],{"class":503},[490,843,782],{"class":507},[490,845,524],{"class":503},[490,847,848],{"class":507}," numero ",[490,850,851],{"class":503},":",[490,853,854],{"class":507}," arregloDeEnteros) {\n",[490,856,857,859,861],{"class":492,"line":500},[490,858,812],{"class":507},[490,860,816],{"class":815},[490,862,863],{"class":507},"(numero);\n",[490,865,866],{"class":492,"line":822},[490,867,825],{"class":507},[422,869,870,871,873],{},"En ambos casos, se imprimirán los elementos del arreglo ",[487,872,754],{}," en la consola.",[426,875,877],{"id":876},"uso-de-la-clase-arrays","Uso de la clase Arrays",[422,879,880,881,884],{},"En Java, la clase ",[487,882,883],{},"Arrays"," proporciona métodos útiles para trabajar con arreglos, como inicializar, ordenar, buscar y comparar arreglos. Veamos algunos ejemplos de cómo utilizar esta clase:",[480,886,888],{"className":482,"code":887,"language":484,"meta":485,"style":485},"import java.util.Arrays;\n\u002F\u002F Creamos los arreglos de enteros\nint[] arregloDeEnteros;\nint[] otroArregloDeEnteros;\n\u002F\u002F Inicializamos los arreglos con un valor uniforme\nArrays.fill(arregloDeEnteros, 5); \u002F\u002F Rellena el arreglo con el valor 5\n\u002F\u002F Inicializar otro arreglo con valores aleatorios en cada posición\nArrays.setAll(otroArregloDeEnteros, i -> (int)(Math.random() * 100)); \u002F\u002F Rellena el arreglo con valores aleatorios entre 0 y 99\n\u002F\u002F Ordenar un arreglo\nArrays.sort(arregloDeEnteros); \u002F\u002F Ordena el arreglo de enteros\n\u002F\u002F Buscar un elemento en el arreglo\nint indice = Arrays.binarySearch(arregloDeEnteros, 5); \u002F\u002F Busca el valor 5 en el arreglo y devuelve su índice\n\u002F\u002F Comparar dos arreglos\nboolean sonIguales = Arrays.equals(arregloDeEnteros, otroArregloDeEnteros); \u002F\u002F Compara los dos arreglos y devuelve true si son iguales\n\u002F\u002F Imprimir el arreglo\nSystem.out.println(Arrays.toString(arregloDeEnteros)); \u002F\u002F Imprime el arreglo como una cadena de texto\n\u002F\u002F Copiar un arreglo total o parcialmente\nint[] copiaCompleta = Arrays.copyOf(arregloDeEnteros, arregloDeEnteros.length); \u002F\u002F Copia todo el arreglo\nint[] copiaParcial = Arrays.copyOfRange(arregloDeEnteros, 0, 3); \u002F\u002F Copia los primeros 3 elementos del arreglo\n",[487,889,890,898,903,909,917,923,943,949,988,994,1008,1014,1039,1045,1067,1073,1093,1099,1120],{"__ignoreMap":485},[490,891,892,895],{"class":492,"line":493},[490,893,894],{"class":503},"import",[490,896,897],{"class":507}," java.util.Arrays;\n",[490,899,900],{"class":492,"line":500},[490,901,902],{"class":496},"\u002F\u002F Creamos los arreglos de enteros\n",[490,904,905,907],{"class":492,"line":822},[490,906,524],{"class":503},[490,908,527],{"class":507},[490,910,912,914],{"class":492,"line":911},4,[490,913,524],{"class":503},[490,915,916],{"class":507},"[] otroArregloDeEnteros;\n",[490,918,920],{"class":492,"line":919},5,[490,921,922],{"class":496},"\u002F\u002F Inicializamos los arreglos con un valor uniforme\n",[490,924,926,929,932,935,937,940],{"class":492,"line":925},6,[490,927,928],{"class":507},"Arrays.",[490,930,931],{"class":815},"fill",[490,933,934],{"class":507},"(arregloDeEnteros, ",[490,936,568],{"class":567},[490,938,939],{"class":507},"); ",[490,941,942],{"class":496},"\u002F\u002F Rellena el arreglo con el valor 5\n",[490,944,946],{"class":492,"line":945},7,[490,947,948],{"class":496},"\u002F\u002F Inicializar otro arreglo con valores aleatorios en cada posición\n",[490,950,952,954,957,960,963,965,967,970,973,976,979,982,985],{"class":492,"line":951},8,[490,953,928],{"class":507},[490,955,956],{"class":815},"setAll",[490,958,959],{"class":507},"(otroArregloDeEnteros, i ",[490,961,962],{"class":503},"->",[490,964,782],{"class":507},[490,966,524],{"class":503},[490,968,969],{"class":507},")(Math.",[490,971,972],{"class":815},"random",[490,974,975],{"class":507},"() ",[490,977,978],{"class":503},"*",[490,980,981],{"class":567}," 100",[490,983,984],{"class":507},")); ",[490,986,987],{"class":496},"\u002F\u002F Rellena el arreglo con valores aleatorios entre 0 y 99\n",[490,989,991],{"class":492,"line":990},9,[490,992,993],{"class":496},"\u002F\u002F Ordenar un arreglo\n",[490,995,997,999,1002,1005],{"class":492,"line":996},10,[490,998,928],{"class":507},[490,1000,1001],{"class":815},"sort",[490,1003,1004],{"class":507},"(arregloDeEnteros); ",[490,1006,1007],{"class":496},"\u002F\u002F Ordena el arreglo de enteros\n",[490,1009,1011],{"class":492,"line":1010},11,[490,1012,1013],{"class":496},"\u002F\u002F Buscar un elemento en el arreglo\n",[490,1015,1017,1019,1022,1024,1027,1030,1032,1034,1036],{"class":492,"line":1016},12,[490,1018,524],{"class":503},[490,1020,1021],{"class":507}," indice ",[490,1023,555],{"class":503},[490,1025,1026],{"class":507}," Arrays.",[490,1028,1029],{"class":815},"binarySearch",[490,1031,934],{"class":507},[490,1033,568],{"class":567},[490,1035,939],{"class":507},[490,1037,1038],{"class":496},"\u002F\u002F Busca el valor 5 en el arreglo y devuelve su índice\n",[490,1040,1042],{"class":492,"line":1041},13,[490,1043,1044],{"class":496},"\u002F\u002F Comparar dos arreglos\n",[490,1046,1048,1051,1054,1056,1058,1061,1064],{"class":492,"line":1047},14,[490,1049,1050],{"class":503},"boolean",[490,1052,1053],{"class":507}," sonIguales ",[490,1055,555],{"class":503},[490,1057,1026],{"class":507},[490,1059,1060],{"class":815},"equals",[490,1062,1063],{"class":507},"(arregloDeEnteros, otroArregloDeEnteros); ",[490,1065,1066],{"class":496},"\u002F\u002F Compara los dos arreglos y devuelve true si son iguales\n",[490,1068,1070],{"class":492,"line":1069},15,[490,1071,1072],{"class":496},"\u002F\u002F Imprimir el arreglo\n",[490,1074,1076,1079,1081,1084,1087,1090],{"class":492,"line":1075},16,[490,1077,1078],{"class":507},"System.out.",[490,1080,816],{"class":815},[490,1082,1083],{"class":507},"(Arrays.",[490,1085,1086],{"class":815},"toString",[490,1088,1089],{"class":507},"(arregloDeEnteros)); ",[490,1091,1092],{"class":496},"\u002F\u002F Imprime el arreglo como una cadena de texto\n",[490,1094,1096],{"class":492,"line":1095},17,[490,1097,1098],{"class":496},"\u002F\u002F Copiar un arreglo total o parcialmente\n",[490,1100,1102,1104,1107,1109,1111,1114,1117],{"class":492,"line":1101},18,[490,1103,524],{"class":503},[490,1105,1106],{"class":507},"[] copiaCompleta ",[490,1108,555],{"class":503},[490,1110,1026],{"class":507},[490,1112,1113],{"class":815},"copyOf",[490,1115,1116],{"class":507},"(arregloDeEnteros, arregloDeEnteros.length); ",[490,1118,1119],{"class":496},"\u002F\u002F Copia todo el arreglo\n",[490,1121,1123,1125,1128,1130,1132,1135,1137,1139,1141,1143,1145],{"class":492,"line":1122},19,[490,1124,524],{"class":503},[490,1126,1127],{"class":507},"[] copiaParcial ",[490,1129,555],{"class":503},[490,1131,1026],{"class":507},[490,1133,1134],{"class":815},"copyOfRange",[490,1136,934],{"class":507},[490,1138,662],{"class":567},[490,1140,612],{"class":507},[490,1142,620],{"class":567},[490,1144,939],{"class":507},[490,1146,1147],{"class":496},"\u002F\u002F Copia los primeros 3 elementos del arreglo\n",[422,1149,1150,1151,1153,1154,1156],{},"En el caso de ",[487,1152,1113],{},", el segundo valor puede ser menor, igual o mayor que el tamaño del arreglo original. Si es menor, se copiarán solo los primeros elementos. Si es igual, se copiará todo el arreglo. Si es mayor, se copiarán los elementos del arreglo original y se rellenarán los espacios adicionales con el valor predeterminado para el tipo de datos del arreglo (0 para enteros, ",[487,1155,577],{}," para objetos, etc.).",[426,1158,1160],{"id":1159},"conclusión","Conclusión",[422,1162,1163,1164,1166],{},"En resumen, los arreglos son una herramienta fundamental en la programación para almacenar y manipular conjuntos de datos de manera eficiente. Conocer cómo declararlos, inicializarlos, acceder a sus elementos y utilizar las funciones proporcionadas por la clase ",[487,1165,883],{}," es esencial para cualquier programador.",[1168,1169,1170],"style",{},"html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}",{"title":485,"searchDepth":500,"depth":500,"links":1172},[1173,1174,1175,1179,1180,1181,1182,1183],{"id":428,"depth":500,"text":429},{"id":435,"depth":500,"text":436},{"id":474,"depth":500,"text":475,"children":1176},[1177,1178],{"id":534,"depth":822,"text":535},{"id":584,"depth":822,"text":585},{"id":638,"depth":500,"text":639},{"id":718,"depth":500,"text":719},{"id":762,"depth":500,"text":763},{"id":876,"depth":500,"text":877},{"id":1159,"depth":500,"text":1160},"En esta sección se introduce el concepto de arreglos, que son estructuras de datos que permiten almacenar múltiples valores en una sola variable. Se explican las características de los arreglos, cómo se declaran y se utilizan en diferentes lenguajes de programación.","md",null,{"editButton":42},true,{"title":208,"description":1184},"JRRMpI99V-tIwONFBalv1eEu9O8eiXXKY0f7kiixyyI",[1192,1194],{"title":206,"path":202,"stem":203,"description":1193,"children":-1},"En esta sección se explicará qué es un arreglo, cómo se declara, cómo se inicializa y cómo se accede a sus elementos.",{"title":212,"path":213,"stem":214,"description":1195,"children":-1},"En esta sección se introduce el concepto de matrices, que son arreglos bidimensionales. Se explican las características de las matrices, cómo se declaran y se utilizan en diferentes lenguajes de programación.",1779479571014]