Какой результат выведет программа №9

Будет напечатано 3: множество содержит только уникальные Boris, Andrey и Arthur.

Короткий ответ

Что ответить на собеседовании

Будет напечатано 3: множество содержит только уникальные Boris, Andrey и Arthur.

Подробный разбор

Ответ с пояснениями

Условие

В этом задании рассматривается небольшой фрагмент кода на Swift. В нём создаётся множество строк, в которое последовательно добавляются несколько имён, некоторые из них повторяются. После всех вставок выводится количество элементов множества. Требуется определить, какое число будет напечатано.

import UIKit

var uniqueNames = Set<String>()
uniqueNames.insert("Boris")
uniqueNames.insert("Andrey")
uniqueNames.insert("Boris")
uniqueNames.insert("Arthur")
uniqueNames.insert("Boris")

print(uniqueNames.count)

Ответ

Будет напечатано 3: множество содержит только уникальные Boris, Andrey и Arthur.

Три вставки строки Boris не увеличивают число элементов после первого появления. Set использует хеширование и проверку равенства, чтобы не хранить равные значения повторно. Порядок элементов при перечислении не гарантирован, но count в этом примере однозначен. Если нужны и повторы, и последовательность добавлений, вместо множества подходит Array.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее