Functional Programming in Java: Harness the Power of Streams and Lambda Expressions