Java predicate vs DB query

I'm 3 years experienced java 8. What is new to me is Predicate Interface. My question is, from it I can filter any list of object as I need. So, which is better scenario?

  1. Get all data in a table and keep them ready for predicate filter. which will make the application communicate with the DB only on insertion and little of getting values transactions.

  2. I forget predicate class. and interact with DB all the time ?

Or.... Please advice.

I know that keeping list of object in the application will reflect on the RAM and take space depends on the size of it.

Thanks