Por exemplo, digite "ABC" para imprimir todas as combinações possíveis e eliminar valores duplicados.
A chamada combinação de arranjo é a seguinte:
Combinação de arranjo, string: abc
BCA
ACB
abc
cba
bac
táxi
Número de arranjos e combinações: 6
Código de implementação (combinado com a implementação da expressão Java8 Lambda)
importar org.junit.test; importar java.util.ArrayList; importar java.util.hashset; importar java.util.list; public class Test2 {@test public void test3 () {string input = "ABC"; // 1. Iniciar a lista de organizações <String> sortResult = classy (entrada); System.out.println ("combinação de classificação, string:"+entrada); // 2. Eliminar colunas duplicadas hashset h = novo hashset (sortresult); sortResult.clear (); sortresult.addall (h); //3.printout SortResult.ForEach (e -> System.out.println (e)); //4.Print Número do sistema de impressão.out.println ("Organize o número de combinações:" + SortResult.size ()); } Lista privada <String> classy (string input) {list <string> SortList = new ArrayList (); if (input == null || "" .equals (entrada)) {System.out.println ("TIP: você inseriu um caractere nulo, digite um valor válido!"); retornar new 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, esquerda) .toString ());}}); } else {sortList.add (string.valueof (lesão de esquerda)); } retornar SortList; }}Se houver uma implementação de código mais concisa, não seja mesquinho e poste -o e compartilhe -o.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.