Выбор комбинаций подмножеств из набора в java

Допустим, у меня есть множество s, и мне нужны все подмножества s, которые можно составить из двух элементов s. Есть ли пакет, который я могу использовать, или передовой опыт, который вы можете порекомендовать?

Примечание. Мне нужны наборы (комбинации), а не все перестановки с порядком.

Случай с двумя элементами довольно прост, и я думаю, что я упорядочу элементы и использую две петли для создания комбинаций. Однако, если есть что-то более элегантное или более расширяемое, что я мог бы использовать, я хотел бы услышать об этом.


person Joe    schedule 28.10.2011    source источник
comment
Конкретный пример: допустим, у меня есть колода карт, и я сдаю две карты. Я хочу что-то, что будет перечислять все возможные руки, которые вы можете иметь (независимо от порядка, в котором вы их раздали).   -  person Joe    schedule 28.10.2011


Ответы (1)


Найдите powerset, исключая эти два элемента, и добавьте эти два элемента во все полученные наборы.

person r15habh    schedule 28.10.2011
comment
Я считаю, что вы неправильно поняли. Я хочу, чтобы элементы набора мощности имели длину в два элемента. Я мог бы сделать что-то похожее на этот код, но я не найду весь набор мощностей, потому что поиск всего набора мощностей требует экспоненциального времени. Я собираюсь добавить пример к вопросу. - person Joe; 28.10.2011
comment
Я не думаю, что есть что-то более элегантное и простое, чем использование 2 циклов, так как возможны комбинации n*(n-1) - person r15habh; 28.10.2011