/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

ArrayList dentro de Otro ArrayList

 
      Índice del Foro elrincondelc.com -> Java
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
soulrata



Registrado: 26 Abr 2012
Mensajes: 8
Ubicación: Argentina

MensajePublicado: 28/06/2012 5:33 am
Título: ArrayList dentro de Otro ArrayList

Hola hay forma de usar un ArrayList dentro de otro ArrayList?

tengo que hacer una aplicación por consola q consiste de un profesor q puede crear test

- cada test tiene un titulo y contiene sus propias preguntas y respuestas.

mi idea es tener un ArrayList de Test y otro ArrayList de preguntas y meter el ArrayList de preguntas a cada posición de ArrayList del test.

osea tener cada casillero de ArrayList del test contiene mas casilleros de preguntas y respuestas.

alguien tiene algún ejemplo como hacer eso?... Gracias!

(en realidad ya termine toda la parte del menú, alta baja de alumnos y profesores, pero me falta eso del test...) Very Happy
Volver arriba
soulrata



Registrado: 26 Abr 2012
Mensajes: 8
Ubicación: Argentina

MensajePublicado: 28/06/2012 5:51 am
Título:

Que esto gráficamente seria así:

Volver arriba
Sorancio



Registrado: 29 May 2009
Mensajes: 1157
Ubicación: España

MensajePublicado: 28/06/2012 5:54 am
Título:

Claro, una lista puede tener todo aquello que herede de Object, así que cualquier clase:

List<List<String>> myList = new ArrayList<List<String>>(10);
_________________
Mi página web (en inglés):
Volver arriba
soulrata



Registrado: 26 Abr 2012
Mensajes: 8
Ubicación: Argentina

MensajePublicado: 28/06/2012 5:58 am
Título:

Perfecto, creo que esto era lo que queria, voy a probar eso, en realidad yo probe en crear varios clases y el contructor entra un arraylist, pero no me permitia por el tipo de datos...asi q esto que m decis creo q seria ideal. Gracias nuevamente, Slds!
Volver arriba
soulrata



Registrado: 26 Abr 2012
Mensajes: 8
Ubicación: Argentina

MensajePublicado: 28/06/2012 7:25 am
Título:

Sorancio escribió:
Claro, una lista puede tener todo aquello que herede de Object, así que cualquier clase:

List<List<String>> myList = new ArrayList<List<String>>(10);


otra pregunta... si quiero incluir 2 tipo en un mismo arrayList se puede?...
intente por ej asi:

private ArrayList<<Test> ArrayList<Preguntas>> tp = new ArrayList<<Test> ArrayList<Preguntas>>();

o

private ArrayList<Test; ArrayList<Preguntas>> tp = new ArrayList<Test; ArrayList<Preguntas>>();

o

private ArrayList<Test, ArrayList<Preguntas>> tp = new ArrayList<Test, ArrayList<Preguntas>>();

no me deja, como seria?...
Volver arriba
Sorancio



Registrado: 29 May 2009
Mensajes: 1157
Ubicación: España

MensajePublicado: 28/06/2012 7:40 am
Título:

No se puede: si quieres que un ArrayList contenga más de dos tipos, deberás hacerlo mediante un genérico o una interfaz. Si los tipos tienen relación, usa de tipo la clase base, por ejemplo, si quieres poner Persona y Perro, podrías usar la clase Animal.

Si no tienen ninguna relación tendrás que usar el tipo Object.
_________________
Mi página web (en inglés):
Volver arriba
soulrata



Registrado: 26 Abr 2012
Mensajes: 8
Ubicación: Argentina

MensajePublicado: 28/06/2012 8:39 am
Título:

disculpa q te molesta tanto, es que no lo puedo sacar...je

(Clase menuIniciar)

private ArrayList<Test> test = new ArrayList();

//.
//.
//Arriba de todo un choclo de codigo tengo declarado al ArrayList
//.
//.

public void AltaTest() {
System.out.println("Ingrese nombre del test.");
String titulo = dato.next();
System.out.println("Ingrese descripcion del test.");
String desc = dato.next();
test.add(new Test(titulo, desc));

int ultimaPosicion = test.size();
//el programa me corre hasta aca y me tira una Exception in thread "main" java.lang.IndexOutOfBoundsException:
test.get(ultimaPosicion).AddQuestion(); //Pide preguntas para el test
System.out.println(test.get(ultimaPosicion).getTitle()); // muestra titulo del test
test.get(ultimaPosicion).PrintQuestionTest(); // muestra preguntas del test

}

(Clase Test)
public class Test {

private String title;
private String Description;
Scanner linea = new Scanner(System.in);
ArrayList<Preguntas> pp = new ArrayList<Preguntas>();

public Test(String title, String Description) {
this.title = title;
this.Description = Description;
}

public String getDescription() {
return Description;
}

public String getTitle() {
return title;
}

public void AddQuestion() {
String salir;
do {
System.out.println("La pregunta es: ");
String pregunta = linea.next();
System.out.println("La respuesta es: ");
String rta = linea.next();
pp.add(new Preguntas(pregunta, rta));
System.out.println("Desea crear otra pregunta (S/N): ");
salir = linea.next();
} while ("N".equals(salir));
}

public void PrintQuestionTest(){
System.out.println("***** Lista de Preguntas *****");
for (int j = 0; j < pp.size(); j++) {//ahora imprimiremos nuestro ArrayList de preguntas sobre este test
System.out.println(j + ")" + pp.get(j).Preguntas);
}
}

}
Volver arriba
Sorancio



Registrado: 29 May 2009
Mensajes: 1157
Ubicación: España

MensajePublicado: 28/06/2012 9:13 am
Título:

El índice en una lista es de 0 a N-1. Si la lista es de 10, de 0 a 9.
_________________
Mi página web (en inglés):
Volver arriba
soulrata



Registrado: 26 Abr 2012
Mensajes: 8
Ubicación: Argentina

MensajePublicado: 28/06/2012 7:07 pm
Título:

media hora de intento, y recien ahora entendi de lo q me estas diciendo...jajaja, Gracias fue de gran ayuda!
Volver arriba
      Índice del Foro elrincondelc.com -> Java
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com