The present invent
How important is s
Q: Sorting column
[E-RASC (electro-c
In the beginning o
Gustavo de los Río
F.C. Bravo FC Bra
In this episode, S
There are over 40
1. Introduction {#

Brain-specific exp
A high-performance
Category: The Dile
The effect of theo
A couple years a
Tesla founder Elon
Krampus: Reindeer
Category: Tile Roo
Introduction =====
/* * This file is
Q: Problemas en el constructor de un ArrayList Hola estoy teniendo problemas con una clase que creo. Soy novato y tengo dudas con los ArrayList que estoy utilizando. ¿Como se le dice en su constructor al tamaño final en el que el programa se inicia, porque ahí donde se inicia el ArrayList (listaTareas) se sale del ciclo "for" y por ende ya no hay nada más añadido al ArrayList, creo que será por el segundo argumento en el constructor, el 5 y el nombre del clase, la clase lo he llamado ListaTareas. Dejo el código y adjunto imágenes para que vean como está. package com.esvidal; import java.util.ArrayList; import java.util.Scanner; public class ListaTareas { ArrayList listaTareas = new ArrayList(); //crear arraylist a partir de la clase int opc1; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc2; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc3; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc4; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc5; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona String nombre; //variable para registrar el nombre de la persona que hace la tarea String hora; //variable para registrar la hora del trabajo del persona que hace la tarea int duracion; //variable para registrar la duración del trabajo de la persona que hace la tarea int puntos=0; //variable con el numero de puntos int numero = 0; //variable de 0 int i=0; Scanner teclado = new Scanner(System.in); public ListaTareas(ArrayList listaTareas, int opc1, int opc2, int opc3, int opc4, int opc5, String nombre, String hora, int duracion){ this.listaTareas = new ArrayList(); this.opc1 = opc1; this.opc2 = opc2; this.opc3 = opc3; this.opc4 = opc4; this.opc5 = opc5; this.nombre = nombre; this.hora = hora; this.duracion = duracion; } } Añado el método getTareas que se supone debería traer la información y al parecer no puede y ahí donde marca por qué sale de ciclo y se queda null, no entiendo muy bien porque sale de ciclo package com.esvidal; import java.util.ArrayList; import java.util.Scanner; public class ListaTareas { ArrayList listaTareas = new ArrayList(); //crear arraylist a partir de la clase int opc1; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc2; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc3; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc4; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc5; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona String nombre; //variable para registrar el nombre de la persona que hace la tarea String hora; //variable para registrar la hora del trabajo del persona que hace la tarea int duracion; //variable para registrar la duración del trabajo de la persona que hace la tarea int puntos=0; //variable con el numero de puntos int numero = 0; //variable de 0 int i=0; Scanner teclado = new Scanner(System.in); public void agregarTarea(){ Tareas tarea = new Tareas(opc1, opc2, opc3, opc4, opc5, nombre, hora, duracion); this.listaTareas.add(tarea); this.numero = listaTareas.size(); System.out.println(listaTareas); } public Tareas getTareas(int posicion){ return this.listaTareas.get(posicion); } public ArrayList mostrarTarea(){ for(Tareas tarea: this.listaTareas) { System.out.println(tarea); } return this.listaTareas; } } A: No estás inicializando la lista. Deberías probar a hacer ello de la siguiente manera: private ArrayList listaTareas = new ArrayList(5); Esto no solo te permitirá poner un número fijo de elementos sino que te impide realizar operaciones de actualizaciones en la lista a menos que vayas a agregar una nueva instancia. Tal como la implementación es la que da el ejemplo, no notarás un mayor desempeño en la lista pero te ahorrarás los límites del tamaño y la inicialización por defecto. A: ¿Cuál es la diferencia entre estos dos tipos de inicialización?: List lista = new ArrayList(); List lista = new ArrayList(); La diferencia es que en la primera inicializas la variable de tipo List pero en la segunda inicializas una variable de tipo ArrayList. Por lo tanto es como si el argumento ArrayList fuera un parámetro. Cómo es que se puede pasar un parámetro tipo ArrayList al constructor?: package com.esvidal; import java.util.ArrayList; import java.util.Scanner; public class ListaTareas { ArrayList listaTareas = new ArrayList(); //crear arraylist a partir de la clase int opc1; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc2; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc3; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc4; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona int opc5; //variable contador para verificar si se ha marcado correctamente el numero que uno le pide a la persona String nombre; //variable para registrar el nombre de la persona que hace la tarea String hora; //variable para registrar la hora del trabajo del