Вы не можете.Обычно, единственный способ скопировать n
вещи - это итерация по каждому из них.
Единственный способ избежать итерации по элементам - это операция более низкого уровня, например, копирование массива.
1006 * будет делать это (другие, как LinkedList
, не будут), но ни одна реализация Set
в JDK не обеспечивает свою собственную реализацию toArray
.Все они используют AbstractCollection.toArray
, который выполняет внутреннюю итерацию по всем элементам.
Если вы реализовали или нашли реализацию Set
на основе массива (которая, однако, почти наверняка не была бы оптимальной Set
), то вы могли бы сгладить ArrayList<ArraySet<String>>
, используя серию копий массива безперебирая элементы.