1. Не светишь внутреннее состояние, меньше рисков и утечек
2. Можно спокойно менять реализацию под капотом, не ломая остальной код
Если всё же нужно возвращать коллекции напрямую, можно сделать так:
- Вернуть глубокие копии коллекций (сложнее в реализации)
- Вернуть только read-only представление, например:
Collections.unmodifiableList(items)
👉 Java Portal