Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/12/2014, 11:58
spybroke
 
Fecha de Ingreso: octubre-2014
Mensajes: 16
Antigüedad: 9 años, 6 meses
Puntos: 0
Duda con la nueva API Stream en Java8

Buenas tardes,

una vez más tengo unas dudillas en mi periplo por java, y una vez más visto lo bien que me han podido ayudar aquí, vuelvo a la carga :)

Estoy estudiando Colecciones, metodos para ordenarlas y cosas así, y tengo al final del tema un ejercicio que consiste en crear una clase con ciertos atributos junto a sus respecticos contructores, get/set, etc... y ademas otra clase con un arraylist de objetos de la primera clase y metodos para realizar cosas con ellos (ordenar por diferentes atributos y cosas asi)

Para resumir los ejemplos y puesto que es solo un método el que me da problemas, simplificare el código, digamos que tenemos una clase Personas con 2 atributos: nombre y edad.

Y por otro lado tenemos la clase que crea el arraylist, que como es un ejercicio de pruebas, los valores los he metido a mano en plan:

Código Java:
Ver original
  1. listaPersonas.add(new Persona("pepe", 34));

El caso es que el método que me da problemas, consiste en recorrer el arraylist y que devuelva la edad media de las personas cuyo nombre empiece por una letra dada en el argumento del método, algo asi:

Código Java:
Ver original
  1. public int edadMediaEmpiezanPor(char letra)

Y ahí básicamente me quedo, he empezado creando una variable llamada "edadMedia e intentando un filtro por el atributo nombre, parecido a esto:

Código Java:
Ver original
  1. public int edadMediaEmpiezanPor(char letra) {
  2. edadMedia = listaPersonas.stream().filter(e -> e.getNombre() // aqui es donde tengo problemas
  3. }

Pero ahí me quedo, seguramente este incluso mal ese trozo pero mi mayor problema es que no se como hacer que lea solo la primera letra de cada elemento del arraylist, las compare con el char del argumento y me de la edad media de todas las personas cuyo nombre coincida con ese requisito.

No se si me he explicado bien la verdad, espero que si xD

Gracias por la ayuda :)