Sobes.tech
Junior — Middle
124

Hoe verschillen de benaderingen voor het verwerken van collecties bij het gebruik van standaardlussen en de Stream API in Java?

Bedrijven waar gevraagd werd
Firecode

Antwoord van AI

sobes.tech AI

Стандартные циклы (for, while) в Java — это императивный подход к обработке коллекций, где программист явно управляет итерацией и состоянием. Такой код часто более подробный и менее декларативный.

Stream API предлагает декларативный стиль: вы описываете, что хотите сделать с элементами коллекции (фильтрация, преобразование, агрегация), а не как именно это делать. Stream API поддерживает ленивые вычисления и может легко использовать параллелизм.

Пример с циклом и Stream API:

List<String> names = Arrays.asList("Anna", "Bob", "Charlie");

// Стандартный цикл
List<String> filtered = new ArrayList<>();
for (String name : names) {
    if (name.length() > 3) {
        filtered.add(name.toUpperCase());
    }
}

// Stream API
List<String> filteredStream = names.stream()
    .filter(name -> name.length() > 3)
    .map(String::toUpperCase)
    .collect(Collectors.toList());

Stream API улучшает читаемость и позволяет легко комбинировать операции, а также использовать параллельные потоки для повышения производительности.