Встречается на собеседованиях • сегодня
Как реализовать иммутабельный класс с полем коллекцией
Для создания иммутабельного класса с полем-коллекцией необходимо:
1. Сделать класс и все его поля `final`
2. Инициализировать коллекцию в конструкторе
3. Возвращать только неизменяемые копии или обертки коллекции
```java
import java.util.Collections;
import java.util.List;
public final class ImmutableClass {
private final List items;
public ImmutableClass(List items) {
this.items = Collections.unmodifiableList(new ArrayList<>(items));
}
public List getItems() {
return Collections.unmodifiableList(items);
}
}
```
Ключевые моменты:
- Конструктор создает защитную копию переданной коллекции
- `Collections.unmodifiableList` делает коллекцию доступной только для чтения
- Геттер возвращает неизменяемую обертку, а не оригинал
- Класс помечен как `final` чтобы предотвратить наследование

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы