Я могу написать класс-оболочку QueensPlacements, который содержит массив и переопределяет hashCode с помощью Arrays.deepHashCode и возвращает Set.Однако это кажется многословным и не элегантным.
Создание пользовательского класса не может быть плохой идеей.Похоже, вы боитесь, что вы просто создаете класс-оболочку для простой передачи данных, но уверены ли вы, что нет других методов, которые он мог бы предоставить, чтобы сделать его полноценной частью домена решения?Что делает код, получающий набор мест размещения?Существуют ли методы, которые размещение может предоставить для облегчения получения этого кода?Хороший метод toString () для хотя бы отладки?
* Редактировать: *
Также учтите, что QueensPlacement может предоставить Comparator<QueensPlacement>
для последовательного упорядочения мест размещения, что не является строго необходимым для концептуальной проблемы (это не имеет значения длякомпьютер), но может сделать пользовательский интерфейс немного приятнее (например, не будет ли лучше для пользователя, если эквивалентные наборы мест размещения будут отображаться в том же порядке).