Я так понимаю, концептуальная "фишка" LINQ состоит в унифицированном интерфейсе для работы с деревьями объектов и для работы с БД.
Но нужна ли такая концепция на практике? Например ты пишешь код для работы с БД, но подаёшь ему на вход список объектов в юнит-тесте, чтобы заменить БД. Насколько это используется?
Ответ по теме — в Java ничего подобного нет. Есть streams, есть разного рода ORM и псевдо-ORM, но оно всё уродливое и/или основано на хаках. Красивого чистого решения я не видел.