Если вам действительно нужно Set<String[]>
, для этого нет простого и элегантного способа, AFAICT. Проблема в том, что массивы не перекрывают equals()
и hashCode()
, с одной стороны. С другой стороны, класс HashSet
не дает возможности передать некоторую «стратегию» для него, которая будет реализовывать хэш-код и вычисление равенства извне (что-то вроде Comparator
). Таким образом, вы можете подумать о создании TreeSet
с помощью специализированного компаратора. К сожалению, я не знаю никакой реализации компаратора массивов, поэтому, скорее всего, вам нужно будет написать свой собственный.
Если это нормально, у вас есть Set<List<String>>
, вы можете рассмотреть совет в других ответах.
Это, вероятно, лучшее решение для этого. – Chase
некоторый набор не использует equals и hashCode, как sortedset "..Arrays не переопределяет equals и hashCode, и поэтому Set будет c .." должен быть HashSet вместо установленного – nachokk
@nachokk Хороший улов - спасибо. –