Foro de elhacker.net

Programación => Java => Mensaje iniciado por: luchi en 3 Septiembre 2016, 02:15 am



Título: ¿Cómo manejar un ArrayList de objetos?
Publicado por: luchi en 3 Septiembre 2016, 02:15 am
Hola.
Estoy practicando con una ArrayList de objetos. El caso es que me encuentro muy pez con ella. Los arrays los manejo a la perfección, pero no sé cómo tengo que manejar esto. Lo que necesito es, sacar por pantalla las películas que he cambiado a "true" y luego sacar por pantalla la película del año más reciente.
Código
  1. import java.util.*;
  2. public class Principal {
  3.  
  4. public static void main(String[] args) {
  5. // ArrayList
  6. ArrayList <Pelicula> peliculas=new ArrayList<Pelicula>();
  7. peliculas.add(new Pelicula("Los perros de la guerra", "accion", "Jhanoson",2004, 1.6,false,0.6));
  8. peliculas.add(new Pelicula("Wenda", "drama", "Jheposon",2014, 1,false, 0.2));
  9. peliculas.add(new Pelicula("Bruja", "Misterio", "Jheposon",2015, 1,false, 0.5));
  10. peliculas.add(new Pelicula("Peter pan", "aventura", "Timi",2000, 1,false, 0.3));
  11. peliculas.add(new Pelicula("Yolanda", "comedia", "Berton",2006, 1,false, 0.1));
  12. //Utilizo el metodo set para cambiar valores, en éste caso, "true", que para la clase Pelicula es "visto"
  13. peliculas.set(3,new Pelicula("Peter pan", "aventura", "Timi",2000, 1,true, 0.3));
  14. peliculas.set(2,new Pelicula("Bruja", "Misterio", "Jheposon",2015, 1,true, 0.5));
  15.  
  16. //Intento de sacar por pantalla sólo las peliculas que he cambiado a "true" (no funciona) siempre da false
  17. boolean resultado;
  18. for(int i=0;i<peliculas.size();i++){
  19. resultado=peliculas.contains(1);
  20. if(resultado){
  21. System.out.println(resultado);
  22. }
  23. }
  24.  
  25.  

El caso es que con arrays sé acceder a sus índices y ejecutar métodos, pero el ArraYList tiene unos métodos muy concretos y no le saques de ahí o yo no sé cómo sacarlo..
Gracias por cualquier ayuda que puedan prestar.


Título: Re: ¿Cómo manejar un ArrayList de objetos?
Publicado por: bengy en 3 Septiembre 2016, 03:35 am
array[#indice] eso haces en arreglo
arr.get(#indice) eso haces en arraylist

vease mas en https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

ahora respondiendo tu pregunta seria algo asi

Código:
for(int i=0;i<peliculas.size();i++){
             if(peliculas.get(i).estado==true){
sop(peliculas.get(i).nombre);
}
}

en el que estado es el valor booleano


Título: Re: ¿Cómo manejar un ArrayList de objetos?
Publicado por: luchi en 3 Septiembre 2016, 18:28 pm
Gracias  :D, ahora los manejo sin problema y terminé lo que tenía que hacer.