Когда стоит использовать HashSet

«Когда стоит использовать HashSet» — вопрос из категории Алгоритмы и структуры данных, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

HashSet полезен, когда нужно:

  • Быстро проверять наличие элемента (O(1) в среднем случае)
  • Хранить уникальные значения (дубликаты автоматически отбрасываются)
  • Не важен порядок элементов

Пример:

val uniqueTags = HashSet<String>()
uniqueTags.add("android")
uniqueTags.add("kotlin")
uniqueTags.add("android") // Не добавится

println(uniqueTags.contains("kotlin")) // true

Не используйте HashSet, если:

  • Нужен порядок элементов (лучше LinkedHashSet)
  • Требуется сортировка (выбирайте TreeSet)
  • Часто нужен доступ по индексу (подойдет ArrayList)