array
он просто увеличивает счетчик ссылок элементов в uniqueStringSet
и не происходит "лишней" работы. Во втором случаем да, создается новый массив с копированием. Если у вас кол-во элементов <100, то можете не думать о таких мелочах. Я написал, как на мой взгляд кажется, читабельно и достаточно эффективно.