- после этого он одинаков для всех потоков / тестов

оложим, у нас есть некоторые элементы в коллекции, и мы хотим отсортировать их, используя определенный компаратор, ожидая результата в списке:

Collection<Item> items = ...;
Comparator<Item> itemComparator = ...;

Одним из подходов является сортировка элементов в списке, что-то вроде:

List<Item> sortedItems = new ArrayList<>(items);
Collections.sort(sortedItems, itemComparator);

Другой подход - использование отсортированного потока:

List<Item> sortedItems = items
    .stream()
    .sorted(itemComparator)
    .collect(Collectors.toList());

Интересно, какой подход более эффективен? Есть ли какие-то преимущества у отсортированного потока (например, быстрая сортировка на нескольких ядрах)?

Эффективен в смысле сложности / скорости выполнения.

Я не верю себе, чтобы реализовать идеальныйэталонный тест и изучениеSortedOps действительно не просветил меня.

Ответы на вопрос(3)

Ваш ответ на вопрос