Array Java PDF
Array Java PDF
LosArrays
Un``Array''esunalistadeelementosdelmismotipo(homognea),cadaunoellosidentificado
porunndice.
SepuedeaccederaloselementosdelArray(paraguardarorecuperarlainformacin)encualquier
orden.
ElArrayquedadefinidopor
eltipobsicodeelementosqueaglutina,
elnmerodeelementos(longitud).
Eslaestructuradedatosqueseusamsfrecuentementeenprogramacin.
LagestindeinformacinconelArrayeseficiente.Dehecho,lamemoriadelordenadorse
gestionacomounArrayenloslenguajesdebajonivel.
LosArraysseutilizancontantafrecuenciaquetodosloslenguajesdeprogramacinofrecenalgn
modoparautilizarlosconfacilidad.
ArraysenJava
EnJava,losArraypuedenserdecualquiertipodedato,incluidosobjetos.
EltipodedatoArrayes,asuvez,unobjeto.
LasvariablesdeltipoArraysedeclaranutilizando[],delsiguientemodo:
tipo_basico[]
Porejemplo,
int[]
nombre_variable
fila;
declaralavariablefiladeltipoArraydedatosdeltipoint.
Estasvariablesalmacenarnlareferenciaalobjeto.
Paracrearelobjeto,seutilizaeloperadornewdelaforma:
new tipo_basico[numero_de_elementos]
Porejemplo,
creaelobjetoquepuedealmacenar100enteros.
Sepuededeclararlavariableycrearelobjetoenlamismainstruccin:
int[] fila = new int[100];
AcadaunodeloselementosdelArrayseaccedeconelnombreseguidodelndiceentre
corchetes.Elndicevaraentre0y
almacenar.As,
,siendo elnmerodeelementosquepuede
fila[99] = 1763;
almacenaelvalor1763enlaltimaposicindelArrayfila.
Cadaunodeloscomponentessepuedeutilizarcomounavariablecualquieradeltipodedato
bsicoquealmacena.
Porejemplo,elArrayfilaofrecela100variablesdeltipoint:
fila[0], fila[1], ... ,fila[98], fila[99]
ElobjetoArrayincluyeunavariablequeeslalongitudyquetieneelnombrelength.La
variableespblicaysepuedeaccederaelladirectamentecomouncampodelobjeto.
Enelejemplodefila,esteprogramaimprime100:
public class p2t2p1{
public static void main(String[] args)
{ int[] fila = new int[100];
int cuantos = fila.length;
System.out.println(cuantos);}}
ObjetosArray
Lavariablelength esdeltipofinal,seasignaenlacreacindelobjetoynosepuede
modificarposteriormente.
Cuandosecreaelobjeto,todosloselementostomanunvalorinicial.Sisetratadetiposbsicos
tomanelvalorcero,sisonnmerosocaracteres,oelvalorfalsesisondeltipoboolean.Si
setratadereferenciasaobjetos,elvalorpordefectoesnull.
LosArrayssepuedencreareinicializaralmismotiempo.Paraello,seutilizanlosvaloresentre
llavesconelformato
tipo_dato[] variable = { v1 , v2 , v3 , . . . , vN};
donde
sonlos valoresqueseasignanalasposiciones
Array.
Porejemplo,conlainstruccin:
del
secreaelobjetoprimos20comounArrayde8datosdeltipodouble.Enlacreacindel
objeto,primos20.lengthseinicializaconelvalor8,yyanopuedemodificarse.Elrestode
losvaloressiquesepuedenmodificar,yaqueprimos20[0],...,primos20[7]son8variables
deltipodouble.
Lasalidadelprograma:
public class p2t2p4{
public static void main(String[] args){
double[] primos20 = {2.,3.,5.,7.,11.,13.,17.,19.};
for(int i = 0;i<primos20.length;i++) {primos20[i]-=1;
System.out.print(primos20[i] +" "); }
}}
Arraysbidimensionales
Tambinsepuedeorganizarlainformacinentablasdedosdimensiones,condosndicespara
accederaloselementos.
Conlainstruccin:
int[][]
secreaunamatrizcapazdealmacenar100elementosdeltipointyaellosseaccedeconlas
variablesmat[i][j].
Sepuedencreartablasdecualquierdimensin,perohayquellevarcuidadoensuuso,yaquela
memoriaqueutilizancrecemuyrpidamente.Porejemplo,lamatriz
int[][][]
utilizarmsde4Mbytesdememoriaparaalmacenarelmillndeenteros.
UnArraybidimensionaleslaestructuradedatosadecuadaparaalmacenarlainformacindela
matricesqueseutilizanenlgebra.LosArraystridimensionales,sonlosapropiadospara
almacenarinformacindetensores.
Ilustramossuusoconelprogramasiguiente
public class p2t2p6{
public static void main(String[] args){
int[][] mat = new int[3][5];
for(int i=0;i<mat.length;i++)
for (int j=0;j<mat[i].length;j++)
mat[i][j] = (i+1)*10 + (j+1);
for(int i= 0;i<mat.length;i++) {
for (int j=0;j<mat[i].length;j++)
System.out.print(mat[i][j]+ " ");
System.out.println();}
}}
queproducelasalida:
11
21
31
12
22
32
13
23
33
14
24
34
15
25
35
Elnmerodefilasestalmacenadoenmat.lengthyelnmerodecolumnasdelafila est
almacenadaenmat[k].length