¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)
Filtrar y transformar objetos en Java usando programación funcional
Portada » Filtrar y transformar objetos en Java usando programación funcional

Filtrar y transformar objetos en Java usando programación funcional

Anuncios
Publicidad

En este ejercicio práctico aprenderás cómo aplicar programación funcional en Java para trabajar con listas de objetos. Utilizando la API de Streams, filtramos productos según su precio, transformamos sus nombres a mayúsculas y mostramos el valor con descuento. Este enfoque moderno y limpio permite escribir código más expresivo, evitando bucles tradicionales y facilitando el procesamiento de datos de forma fluida y eficiente.

📎Transformar números en texto usando Streams en Java

Clase producto:

Filtrar y transformar objetos en Java usando programación funcional

public class Producto {

// Atributo privado cadena de texto llamado nombre.
// Atributo privado double - Decimal - llamado precio.
private String nombre;
private double precio;

// Añadimos el constructor:

public Producto(String nombre, double precio) {
    this.nombre = nombre;
    this.precio = precio;
}

// Añadimos getter y setter:

public String getNombre ()
{
    return this.nombre;
}

public double getPrecio()
{

return this.precio;

}

// Método que devuelve el precio con el descuento:

public double getPrecioConDescuento() {
    return precio * 0.90;
}

}

Clase main:

Filtrar y transformar objetos en Java usando programación funcional

public class Program {

public static void main(String[] args) {

// Creamos una lista de productos usando como tipo de dato nuestra clase producto.

List <Producto> listaDeProductos = new ArrayList<>();

// Añadimos 4 productos, pero recuerda crear una instancia de producto.

listaDeProductos.add(new Producto("Monitor", 120));
listaDeProductos.add(new Producto("TV", 180));
listaDeProductos.add(new Producto("USB_8GB", 3));
listaDeProductos.add(new Producto("Ratón_USB", 9));

// Convertimos nuestra lista a un Streams de tipo Producto.

listaDeProductos.stream().
// Filtrar solo los productos que cuestan más de 10 euros.
// Esto quiere decir para producto haz precio del producto mayor a 10 euros. Solo mayores.
        filter(p -> p.getPrecio() > 10). // Aplica el filtro si resulta verdadera
// Para p obtener el nombre y transformarlo a mayúscula.
// Para p obtener el precio en decuento.
        map(p -> "Nombre del producto  : " + 
                p.getNombre().toUpperCase() +
                "Precio con porcentaje : " +
                p.getPrecioConDescuento()).

// Método referencia: Imprimir cada línea usando referencia a método
forEach(System.out::println);

}

}

Seguir leyendo:

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)

Deja un comentario

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)
error: Content is protected !!
Scroll al inicio
Hablemos de informática
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.