Ответ 1
Да, вы можете ожидать этого, даже если вы используете параллельный поток, если вы явно не преобразовали его в режим unordered()
.
Порядок не меняется в последовательном режиме, но может меняться в параллельном режиме. Поток становится неупорядоченным:
- Если вы явно включите его в неупорядоченный режим через
unordered()
вызов - Если источник потока сообщает, что он неупорядочен (например, поток
HashSet
неупорядочен, поскольку порядок зависит от реализации, и вы не можете полагаться на него) - Если вы используете работу с неупорядоченным терминалом (например,
forEach()
операция или сбор в неупорядоченный сборник, напримерtoSet()
)
В вашем случае ни одно из этих условий не было выполнено, поэтому ваш поток упорядочен.