Sobes.tech
Junior — Middle

Quelle est la différence entre les approches de traitement des collections lors de l'utilisation de boucles standard et de l'API Stream en Java?

sobes.tech IA

Réponse de l'IA

Стандартные циклы (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 улучшает читаемость и позволяет легко комбинировать операции, а также использовать параллельные потоки для повышения производительности.