Встречается на собеседованиях • сегодня
Какие знаешь паттерны в стандартной библиотеке Java
В Java стандартная библиотека использует несколько известных паттернов проектирования:
1. **Iterator** – интерфейсы `Iterable` и `Iterator` для обхода коллекций.
```java
List list = List.of("a", "b", "c");
Iterator it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
```
2. **Singleton** – например, `Runtime.getRuntime()` возвращает единственный экземпляр.
3. **Factory Method** – `Collections.unmodifiableList()`, `Optional.of()` создают объекты без явного вызова конструктора.
4. **Observer** – устаревшие `java.util.Observable` и `Observer`.
5. **Decorator** – `java.io` (например, `BufferedReader` оборачивает `FileReader`).
6. **Proxy** – динамические прокси через `java.lang.reflect.Proxy`.
7. **Adapter** – `Arrays.asList()` адаптирует массив к интерфейсу `List`.
Также встречаются **Builder** (`StringBuilder`), **Strategy** (`Comparator` в сортировке) и **Template Method** (абстрактные классы вроде `AbstractList`).

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