Я думаю, Set
и его варианты будут дорогостоящими по сравнению с простым массивом.Я могу ошибаться.
В зависимости от ожидаемого диапазона символов, вы можете создать один или несколько массивов int
, инициализировать все индексы равными 0 и установить их в 1 для каждого найденного символа, используя Character.getNumericValue()
.У вас будет дублированный символ, если вы встретите элемент массива, который уже равен 1.
Под одним или несколькими массивами я имею в виду, что если ожидается весь диапазон int
, вы не сможете создать такой большой массив, но выможет иметь два массива, один для положительных и другой для отрицательных значений.