Java Functional Programming Vs Oop