https://halilural5.medium.com/mastering-java-streams-8-key-concepts-you-need-to-know-for-your-interview-38b580ae7194