Está en la página 1de 11

05/11/13

ArrayList - Apuntes de programacin

Blog Php y frameworks El navegologo


Buscar..

Otro artulos
Cmo usar Struts con JSP en proyecto web?

Hola!, qu tal? En este nuevo artculo vamos a aprender a configurar el framework Struts y a la vez hacer un pequeo ejemplo para demostrar.
Por qu es importante usar transacciones en sentencias select con Hibernate?

Una de las cosas que ms me ha llamado la atencin es el uso transacciones para las consultas de Select. Por qu, si solo es.
Cmo hacer un select usando hibernate?

Vamos a ver algunos ejemplos bastante prcticos de cmo podramos hacer uso de la sentecia select usando hibernate. Nuestra base de datos va a ser.
Usando TimeSeriesChart de JFreeChart

Veamos cmo usar la librera JFreeChart para crear un grfico del tipo TimeSeriesChart. Antes de continuar, para este ejemplo he usado la versin jfreechart-1.0.14.zip (7.8.
Etiquetas
apuntes.delibertad.com/java/arraylist/ 1/11

05/11/13

ArrayList - Apuntes de programacin

agregar Apache aplicacion

archivo array boton cargar columna

conexion datos Diseo empezar error estructura fecha


jlabel jsp jtable jvftp leer lista

fichero ftp geshi html imagen iniciar

integracion
Tw eet

Netbeans pantalla patron Php plugin programacion reproducir SMF Sql ventana video Vps Windows
Me gusta 40 5 1

Java Jframe

mod

mysql

StumbleUpon

La clase ArrayList (java.util) es una objeto que acta como una lista que implemente la interfaz Collection de java. Esta clase permite contener y ordenar objetos, incluso, puede almacenar objetos duplicados. Su tamao es dinmico, es decir, esta lista crecer a medida que se inserten en ella mas elementos. Debememos recordar que el ndice de un ArrayList empieza en 0 (cero), es decir, el primer elemento del ArrayList tiene como ndice el 0. Nota: Los objetos ArrayList se comportan igual que un objeto Vector desincronizado, pero con la salvedad de que un ArrayList se ejecuta ms rpido que un Vector, ya que el ArrayList no tiene que implementar los mtodos de sincronizacin de procesos.

Agregar elementos
El ArrayList contendr diversos elementos que debemos gestionar, para agregar elementos se puede hacer de dos formas usando el mtodo add( ) que recibe por parmetro un objeto cualquiera: 1. La primera forma sera insertndolo sin darle una posicin especfica, entonces, el elemento ser agregado al final: 1 2 3 4 5 6 / /i n s t a n c i a m o su nn u e v oA r r a y L i s t A r r a y L i s tm i _ l i s t a=n e wA r r a y L i s t ( ) ; / /a g r e g a m o se le l e m e n t o ,p o rd e f e c t ol oa g r e g a r d e l t i m o / /s il al i s t ae s t v a c as e r e lp r i m e re l e m e n t o m i _ l i s t a . a d d ( " e l e m e n t o1 " ) ;

2. La segunda forma sera dndole una posicin especfica en la lista. Si por alguna razn el vamos a insertar el elemento es una posicin donde ya existe un elemento, ste elemento ser desplazado a la derecha (junto con todos los dems que estn tambin a la derecha) para darle campo al elemento que ser insertado en dicho ndice: 1 2 3 4 5 / /i n s t a n c i a m o su nn u e v oA r r a y L i s t A r r a y L i s tm i _ l i s t a=n e wA r r a y L i s t ( ) ; / /a g r e g a m o se le l e m e n t o ,p o rd e f e c t ol oa g r e g a r d e l t i m o m i _ l i s t a . a d d ( 1 ," e l e m e n t oA " ) ;

apuntes.delibertad.com/java/arraylist/

2/11

05/11/13

ArrayList - Apuntes de programacin

Eliminar elementos
Para eliminar elementos se dispone del mtodo remove( ) en el cual recibe como argumento el objeto a eliminar o bien, eliminar el elemento conociendo su ndice (posicin). Para este ejemplo supongamos que tenemos una clase Persona, que tiene nombre y edad, insertaremos unas cuantas personas en la lista y luego eliminaremos una de ellas usando las dos formas.

Eliminado segn su ndice en la lista


1 2 3 4 5 6 7 8 9 1 0 1 1 P e r s o n ap e r s o n a _ 1=n e wP e r s o n a ( " J u l i a n " ,2 0 ) ; P e r s o n ap e r s o n a _ 2=n e wP e r s o n a ( " B e t y " ,1 7 ) ; P e r s o n ap e r s o n a _ 3=n e wP e r s o n a ( " M a r t a " ,2 2 ) ; A r r a y L i s tm i _ l i s t a=n e wA r r a y L i s t ( ) ; / /a g r e g a m o su n o sc u a n t o se l e m e n t o s m i _ l i s t a . a d d ( p e r s o n a _ 1 ) ; m i _ l i s t a . a d d ( p e r s o n a _ 2 ) ; m i _ l i s t a . a d d ( p e r s o n a _ 3 ) ; / /l ae s t r u c t u r ad eal i s t ah aq u e d a d oa s i :0=[ J u l i a n ]1=[ B e t y ] 2=[ M a r t a ]

1 2 1 3 / /s iq u e r e m o se l i m i n a ra" B e t t y "p o rs u n d i c es e r i aa s i : 1 4 m i _ l i s t a . r e m o v e ( 1 )/ /e l1p e r t e n e c ea l n d i c eop o s i c i o nd eB e t t y e nl al i s t a 1 5 / /l ae s t r u c t u r ad eal i s t ah aq u e d a d oa s i :0=[ J u l i a n ]1= [ M a r t a ] Marta ha pasado a la posicin 1, ya que la lista forza a correr todos los elemenetos a al izquieda para que ocupe ese espacion eliminado, entonces el tamao de la lista se reduce a 2 elementos nicamente

Eliminado segn el objeto como argumento


La otra forma sera si le enviamos el objeto para que la lista lo identifique. Aclaro, ingresar un nuevo elemento con los mismos datos no significa que sea le mismo elemento, para que deba ser igual deber tener la misma instancia y/o la misma posicin en memoria 1 2 3 4 5 6 P e r s o n ap e r s o n a _ 1=n e wP e r s o n a ( " J u l i a n " ,2 0 ) ; P e r s o n ap e r s o n a _ 2=n e wP e r s o n a ( " B e t y " ,1 7 ) ; P e r s o n ap e r s o n a _ 3=n e wP e r s o n a ( " M a r t a " ,2 2 ) ; A r r a y L i s tm i _ l i s t a=n e wA r r a y L i s t ( ) ;
3/11

apuntes.delibertad.com/java/arraylist/

05/11/13

ArrayList - Apuntes de programacin

7 8 9 1 0 1 1

1 2 1 3 / /s iq u e r e m o se l i m i n a ra" J u l i a n "d e b e m o s" e n v i a r l eaJ u a n "d e n u e v o 1 4 m i _ l i s t a . r e m o v e ( p e r s o n a _ 1 )/ /s ee n v i al ai n s t a n c i ad eJ u a n 1 5 / /l ae s t r u c t u r ad eal i s t ah aq u e d a d oa s i :0=[ b e t y ]1=[ M a r t a ]

/ /a g r e g a m o su n o sc u a n t o se l e m e n t o s m i _ l i s t a . a d d ( p e r s o n a _ 1 ) ; m i _ l i s t a . a d d ( p e r s o n a _ 2 ) ; m i _ l i s t a . a d d ( p e r s o n a _ 3 ) ; / /l ae s t r u c t u r ad eal i s t ah aq u e d a d oa s i :0=[ J u l i a n ]1=[ B e t y ] 2=[ M a r t a ]

Otras funciones importantes


Tamao
Para determinar la cantidad de elementos de la lista solo se llama al metodo size() 1 i n tt o t a l=m i _ l i s t a . s i z e ( ) ;

Vaciar
Para vaciar la lista y dejarla sin ningn elemento en ella se usa el mtodo clear() 1 m i _ l i s t a . c l e a r ( ) ;

Si un objeto ya existe en la lista


Para saber si un objeto sta insertado en lista usamos el mtodo contains( ), el cual devuelve true si existe o un false si sucede lo contrario 1 b o o l e a ne x i s t e n c i a=m i _ l i s t a . c o n t a i n s ( e l O b j e t o B u s c a d o ) ;

Si est vaca
Para saber si la lista esta vaca, es decir, si no tiene elementos usamos isEmpty() que devuelve true si NO hay elementos o un false si contiene algun elemnto. 1 b o o l e a nv a c i a=m i _ l i s t a . i s E m p t y ( ) ;

Convertir a un arreglo
Para pasar o copiar los elementos a un arreglo de objetos (TipoObjeto objetos []) se usa el mtodo toArray() 1 O b j e c to b j e t o s[ ]=m i _ l i s t a . t o A r r a y ( ) ;
apuntes.delibertad.com/java/arraylist/ 4/11

05/11/13

ArrayList - Apuntes de programacin

El ndice de un objeto
El uso del IndexOf(Object o) retorna la posicin de un elemento que est en el array. 1 2 3 4 5 6 7 8 9 P e r s o n aa=n e wP e r s o n a( " J u a n " ) ; m i _ l i s t a . a d d ( a ) ; P e r s o n ab=n e wP e r s o n a( " M a r t a " ) ; m i _ l i s t a . a d d ( b ) ; P e r s o n ac=n e wP e r s o n a( " A n d r e a " ) ; m i _ l i s t a . a d d ( c ) ; / / r e t o r n a2 i n ti n d i c e=m i _ l i s t a . i n d e x O f ( b ) ;

Combinar dos ArrayList en uno


La funcin addAll(Collection c) se encarga de anexar un arraylist a otra ya creado. Pero tambin se puede aplicar a otro tipo de listas que implementen la interfaz Collection. 1 2 3 4 5 6 7 A r r a y L i s to t r a _ l i s t a=n e wA r r a y L i s t ( ) ; P e r s o n ad=n e wP e r s o n a( " C a r l o s " ) ; o t r a _ l i s t a . a d d ( d ) ; P e r s o n ae=n e wP e r s o n a( " S a m u e l " ) ; o t r a _ l i s t a . a d d ( e ) ; m i _ l i s t a . a d d A l l (o t r a _ l i s t a) ;
40 5 Tw eet 1

Me gusta

StumbleUpon

Entradas relacionadas
JSon y Javascript Agregar librerias a un proyecto de Netbeans Alterar la estructura de una tabla

72 Comentarios
1. rlip dice: 2 octubre 2013 a las 12:38 AM
5/11

apuntes.delibertad.com/java/arraylist/

05/11/13

ArrayList - Apuntes de programacin

se puede meter un array dentro de un array? Responder manix dice: 2 octubre 2013 a las 12:43 AM Hola, Si, por ejemplo: ArrayList a = new ArrayList() ; ArrayList b = new ArrayList() ; a.add(b); 2. G. Corail dice: 16 octubre 2013 a las 1:51 PM Me ha servido muchsimo tu pagina Manix felicitaciones. Yo tengo un problema Estoy usando JSP donde un formulario agrega Nombre, rut , fechaNacimiento, etc todo lo guardo en una clase en java llamada Contacto, las variables son todas String Asi: nombre=request.getParameter(nombre); hay saco los valores del JSP con metodo POS y lo guardo en esa variable. Luego Clases.Contacto c = new Clases.Contacto(); instancia de la clase Agrego los valores a la clase c.setNombre(nombre); ahora declaro el arrayList: ArrayList a=new ArrayList(); luego creo una condicion y agrego los valores de la clase mediante la session al ArrayList if(session.getAttribute(contactos)!=null){ //CONSULTA (contactos) solo lo coloco as y me //funciona pero realmente no se por que pongo //contactos si
apuntes.delibertad.com/java/arraylist/ 6/11

05/11/13

ArrayList - Apuntes de programacin

nada mas se llama as a=(ArrayList)session.getAttribute(contactos); a.add(c); session.setAttribute(contactos, a); } for(Contacto c1:a)// compruebo que este guardado y finalmente se guardo { out.println(c1.getNombre()); } En otro JSP para consultar los contactos int n=0; ArrayList c; c=(ArrayList)session.getAttribute(contactos); String ejemplo="; for(Contacto c1:c){ //con este codigo hago que se escriba los datos del contacto el cual he agregado hasta aqui todo me va bien Luego un JSP es para eliminar y funciona bsicamente asi Antes un JSp me envia la posicion del usuario a eliminar elegido con un radio botton int n;// recibo la posicion n=Integer.parseInt(request.getParameter(contacto)); ArrayList c; c=(ArrayList)session.getAttribute(contactos); c.remove(n);// elimino el contacto luego se me solicita guardar cada contacto eliminado Yo pens en crear un nuevo arrayList que cada vez que elimine un contacto este se guarde igual que cuando creo uno Entonces
apuntes.delibertad.com/java/arraylist/ 7/11

05/11/13

ArrayList - Apuntes de programacin

creo una clase que se llama contactoE // serian los contactos eliminados le agrego datos de esta forma antes de eliminar usando el c.remove(n); : int n;// lo mismo recibiendo la ubicacin del JSP que selecciona cual eliminar n=Integer.parseInt(request.getParameter(contacto)); ArrayList c; c=(ArrayList)session.getAttribute(contactos); String nombre// creo una variable nombre=c.get(n).getNombre();// agrego el valor del ArrayList que voy a eliminar Clases.ContactoE ce = new Clases.ContactoE();// intancio la clase a usar que seria para //guardar contactos eliminados ce.setNombreE(nombre);// agrego valores a la clase contactosE ArrayList eli=new ArrayList();//creo el arrayList que me guardara los //contactos que se eliminen eli=(ArrayList)session.getAttribute(contactos);// guardo los valores en este //arrayList eli.add(ce); session.setAttribute(contactos, eli);// El error que me sale mas adelante creo que es //por esto Consulto la lista de eliminados y se registra como eliminado Una vez que guarde en el nuevo arrayList que guarda los eliminados todo bien pero al querer volver a agregar un nuevo Contacto me arroja el siguiente error: exception org.apache.jasper.JasperException: java.lang.ClassCastException: Clases.Contacto cannot be cast to Clases.ContactoE root cause java.lang.ClassCastException: Clases.Contacto cannot be cast to Clases.ContactoE no se como solucionarlo, intente guardar los eliminados en la clase contacto pero los dos arrayList guardan la misma informacin. Es decir agrego nuevo y me sale
apuntes.delibertad.com/java/arraylist/ 8/11

05/11/13

ArrayList - Apuntes de programacin

tambin en el ArrayList de los eliminados.No se como guardar arrayList diferentes en la misma clase o la misma session.session.getAttribute(contactos) esto me tiene con duda, puedo colocar cualquier nombre donde dice contactos intente con colocar eliminados pero me arrojo error que estar haciendo mal, no se mucho de session Atte. Responder manix dice: 16 octubre 2013 a las 3:40 PM Hola, Vas muy bien. Tratar explicarte lo mejor que pueda. 1. Declara un ArrayList extra solo para contactos eliminados. 2. No hace falta que uses otra clase ContactoE. La idea es que el mismo objeto Contacto eliminado de un arraylist lo insertes inmediatamente en el otro. 3. Para el ArrayList de contactos eliminados lo puedes llevar a nivel de sesin, por ejemplo eliminados 3. fercho dice: 28 octubre 2013 a las 2:15 PM porfa alguien que me esplique lo siguiente estoy haciendo lo que un celular basico trae llamar. agregar contactos. ver contactos. buscar contacto. y eliminar contacto. esas son algunas de las opciones.. alguien me puede decir como hago el codigo para la parte de eliminar teniendo en cuenta que es programacion orientada a objetos.. muchas gracias espero pronta respuesta.. Responder manix dice: 28 octubre 2013 a las 2:29 PM Hola Fercho,
apuntes.delibertad.com/java/arraylist/ 9/11

05/11/13

ArrayList - Apuntes de programacin

Para eliminar un objeto del arraylist debes de tener alguna referencia que te ayude a determinar cul objeto quieres eleminar. Supongamos que tienes un campo de texto donde ingresas el nombre del contacto a eliminar. Entonces, procedemos con algo as: 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 / / l e e m o se ln o m b r e S t r i n gn o m b r e=c a m p o T e x t o ( ) . g e t T e x t ( ) ; / /r e c o r r e m o sl al i s t ad ec o n t a c t o s f o r( i n ti=0 ;i<c o n t a c t o s . s i z e ( ) ;i+ + ) { C o n t a c t ot e m p o r a l=c o n t a c t o s . g e t ( i ) ; / /c o m p a r a m o se lc o n t a c t ot e m p o r a lc o ne ln o m b r ed a d o i f( t e m p o r a l . g e t N o m b r e ( ) . e q u a l s (n o m b r e) ) { / / e l i m i n a m o se lc o n t a c t os ie ln o m b r ec o i n c i d e c o n t a c t o s . r e m o v e ( i ) ; b r e a k ; / / d e t e n e re lr e c o r r i d o

fercho dice: 28 octubre 2013 a las 2:40 PM muchas gracias me acabas de salvar Comentarios anteriores

Deja un comentario
Tu direccin de correo electrnico no ser publicada. Los campos necesarios estn marcados *
Connect w ith Facebook

Nombre * Correo electrnico * Web

apuntes.delibertad.com/java/arraylist/

10/11

05/11/13

ArrayList - Apuntes de programacin

Comentario Puedes usar las siguientes etiquetas y atributos HTML: < ah r e f = " "t i t l e = " " >< a b b r
t i t l e = " " >< a c r o n y mt i t l e = " " >< b >< b l o c k q u o t ec i t e = " " >< c i t e >< c o d e >< d e l d a t e t i m e = " " >< e m >< i >< qc i t e = " " >< s t r i k e >< s t r o n g > Publicar comentario

Notificarme al correo si mi comentario recibe una respuesta 2013 Apuntes de programacin, Todos los Derechos Reservados Ir arriba

apuntes.delibertad.com/java/arraylist/

11/11

También podría gustarte