Например, введите «ABC», чтобы распечатать все возможные комбинации и устранить дублирующие значения.
Так называемая комбинация расположения следующая:
Комбинация расположения, строка: ABC
BCA
ACB
азбука
CBA
бак
такси
Количество расположения и комбинаций: 6
Код реализации (в сочетании с реализацией экспрессии Java8 Lambda)
Import org.junit.test; import java.util.arraylist; import java.util.hashset; import java.util.list; public class test2 {@test public void test3 () {string input = "abc"; // 1. Список начала списка <string> sortresult = sort (input); System.out.println ("сортировка комбинации, строка:"+input); // 2. Устранение дублирующих столбцов хэшсет H = новый хэшсет (сортрирул); sortresult.clear (); sortresult.addall (h); //3.printout sortresult.foreach (e -> system.out.println (e)); //4.print Номер системы печати. } частный список <string> sort (string input) {list <string> sortlist = new ArrayList (); if (input == null || "" .equals (input)) {System.out.println ("Tip: Вы ввели нулевый символ, пожалуйста, введите допустимое значение!"); вернуть новый ArrayList (); } char leftchar = input.charat (0); if (input.length ()> 1) {string rightstring = input.substring (1, input.length ()); List <string> rightStringSortedList = sort (rightString); rightStringSortedList.Foreach ((e) -> {for (int i = 0; i <e.length ()+1; i ++) {sortlist.add (new StringBuffer (e) .insert (i, LeftHar) .toString ());}}); } else {sortlist.add (string.valueof (leftChar)); } return sortlist; }}Если есть более краткая реализация кода, пожалуйста, не будьте скупы, не публикуйте ее и делитесь им.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.