Java - Consultar atributos objeto en ArrayList

 
Vista:

Consultar atributos objeto en ArrayList

Publicado por Luis (9 intervenciones) el 15/03/2016 11:45:13
Buenos días,

Antes que nada gracias por leer mi duda. Tengo un problemilla a la hora de realizar una consulta en Java Eclipse. Quizás es muy tonta pero ahora mismo estoy estancado y no se por donde tirar jeje.

Tengo un ArrayList de Objetos de una Clase, estos Objetos tienen sus atributos. Me gustaría obtener los atributos de un objeto en concreto de este ArrayList.

Por ejemplo...
Clase <Asignatura>:
- String nombre_asignatura;
- int numero_alumnos;
Clase <Curso>:
- int curso;
ArrayList<Asignatura> asignaturas....

En el método de otra clase me gustaría poder obtener el numero de alumnos de una asignatura que se encuentra en la posición del Arraylist asignaturas, que yo elija.

Tengo todos los Getters y Setters hechos, todo está en orden, solo me falta este detalle.

MUCHAS GRACIAS!

PD: El ejemplo no es de la temática que yo estoy usando, pero sirve como claro ejemplo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
sin imagen de perfil

Consultar atributos objeto en ArrayList

Publicado por int-eligente (6 intervenciones) el 15/03/2016 13:05:24
¿Podrías subir el código?
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Consultar atributos objeto en ArrayList

Publicado por Chiapas (1 intervención) el 15/03/2016 21:11:25
Un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
List<String> arrlist = new ArrayList<>(4);
arrlist.("Hola");
arrlist.("Mundo");
arrlist.("con");
arrlist.("Java");
 
arrlist.forEach(System.out::println);
 
//Con el metodo get se obtiene el valor deseado
String elemento = arrlist.get(2);
System.out.println(elemento);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Consultar atributos objeto en ArrayList

Publicado por Luis (9 intervenciones) el 16/03/2016 10:06:20
Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Consultar atributos objeto en ArrayList

Publicado por Mauro (1 intervención) el 16/03/2016 23:37:44
Obtener valore especificos de un arrayList.
Enumeracion Genero
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
 * 
 */
package com.x.enumeraciones;
 
/**
 * @author Mauro
 *
 */
public enum Genero {
	MASCULINO,
	FEMENINO
}

Clase Persona


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package com.x.personas;
 
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
 
import com.xlogant.enumeraciones.Genero;
 
/**
 * @author Mauro
 *
 */
public class Persona {
 
	/**
	 * 
	 */
	public Persona() {
		// TODO Auto-generated constructor stub
	}
 
	public Persona(String primerNombre, String apellido, LocalDate dod, Genero genero) {
		super();
		this.primerNombre = primerNombre;
		this.apellido = apellido;
		this.dod = dod;
		this.genero = genero;
	}
 
	public String getPrimerNombre() {
		return primerNombre;
	}
 
	public void setPrimerNombre(String primerNombre) {
		this.primerNombre = primerNombre;
	}
 
	public String getApellido() {
		return apellido;
	}
 
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
 
	public LocalDate getDod() {
		return dod;
	}
 
	public void setDod(LocalDate dod) {
		this.dod = dod;
	}
 
	public Genero getGenero() {
		return genero;
	}
 
	public void setGenero(Genero genero) {
		this.genero = genero;
	}
 
	@Override
	public String toString() {
		return "Persona [primerNombre=" + primerNombre + ", apellido=" + apellido + ", dod=" + dod + ", genero="
				+ genero + "]";
	}
 
	public static List<Persona> getPersonas() {
		ArrayList<Persona> per = new ArrayList<>();
		per.add(new Persona("Mauro", "Mendez", LocalDate.of(1979, 03, 12), Genero.MASCULINO));
		per.add(new Persona("jose", "portillo", LocalDate.of(1980, 06, 15), Genero.FEMENINO));
		per.add(new Persona("Claudia", "Delgado", LocalDate.of(1981, 06, 10), Genero.FEMENINO));
		per.add(new Persona("Jessica", "Oropeza", LocalDate.of(1989, 04, 16), Genero.FEMENINO));
		return per;
	}
 
	private String primerNombre;
	private String apellido;
	private LocalDate dod;
	private Genero genero;
}
Clase para obtener los valores de la clase Persona
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
 * 
 */
package com.x.function;
 
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
 
/**
 * @author Mauro
 *
 */
public class FuncionUtil {
	public static <T> void forEach(List<T> lista, Consumer<? super T> predicado) {
		for (T item : lista) {
			predicado.accept(item);
		}
	}
 
	public static <T> List<T> filter(List<T> list, Predicate<? super T> predicado) {
		ArrayList<T> filtroList = new ArrayList<>();
		for (T item : list) {
			if (predicado.test(item)) {
				filtroList.add(item);
			}
		}
		return filtroList;
	}
 
	public static <T, R> List<R> map(List<T> list, Function<? super T, R> mapa) {
		ArrayList<R> mapedList = new ArrayList<>();
		for (T item : list) {
			mapedList.add(mapa.apply(item));
		}
		return mapedList;
	}
}

La clase principal (main)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/**
 * 
 */
package com.x.activa;
 
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
 
import com.xlogant.enumeraciones.Genero;
import com.xlogant.function.FuncionUtil;
import com.xlogant.personas.Persona;
 
/**
 * @author Mauro
 *
 */
public class Control {
 
	/**
	 * @param args
	 */
	public static void main(String... args) {
		// TODO Auto-generated method stub
		List<Persona> list = Persona.getPersonas();
		System.out.println("Lista Original de personas");
		FuncionUtil.forEach(list, p -> System.out.println(p));
               //Obtner por Genero
		List<Persona> mas = FuncionUtil.filter(list, p -> p.getGenero() == Genero.MASCULINO);
		System.out.println("\nSolo masculinos");
		FuncionUtil.forEach(mas, p -> System.out.println(p));
		List<Persona> fe = FuncionUtil.filter(list, p -> p.getGenero() == Genero.FEMENINO);
		System.out.println("\nSolo femeninos");
		FuncionUtil.forEach(fe, p -> System.out.println(p));
		List<Integer> anio = FuncionUtil.map(list, p -> p.getDod().getYear());
		System.out.println("\nFechas de nacimiento");
		FuncionUtil.forEach(anio, p -> System.out.println(p));
		Supplier<List<Persona>> su = Persona::getPersonas;
		List<Persona> pers = su.get();
		FuncionUtil.forEach(pers, p -> System.out.println(p));
		Consumer<String> con = System.out::println;
		con.accept("Hola");
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar