У меня есть строковый массив
{"ted", "williams", "golden", "voice", "radio"}
и я хочу, чтобы все возможные комбинации этих ключевых слов были следующими:
{"ted",
"williams",
"golden",
"voice",
"radio",
"ted williams",
"ted golden",
"ted voice",
"ted radio",
"williams golden",
"williams voice",
"williams radio",
"golden voice",
"golden radio",
"voice radio",
"ted williams golden",
"ted williams voice",
"ted williams radio",
.... }
Я работаю часами без эффективного результата (побочный эффект высокоуровневого программирования?).
Я знаю, что решение должно быть очевидным, но я застрял, честно! Решения в Java/С# принимаются.
ИЗМЕНИТЬ
- Это не домашнее задание
- "ted williams" и "williams ted" считаются одинаковыми, поэтому я хочу "ted williams" только
РЕДАКТИРОВАТЬ 2: после просмотра ссылки в ответе выяснится, что пользователи Guava могут иметь метод poweret в com.google.common.collect.Sets