Por ejemplo, ingrese "ABC" para imprimir todas las combinaciones posibles y eliminar los valores duplicados.
La llamada combinación de disposición es la siguiente:
Combinación de disposición, cadena: ABC
BCA
ACB
abecedario
CBA
bac
taxi
Número de arreglos y combinaciones: 6
Código de implementación (combinado con la implementación de la expresión Java8 Lambda)
importar 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. Comience a organizar la lista <String> SORTRESULT = SORT (entrada); System.out.println ("Combinación de clasificación, cadena:"+entrada); // 2. Eliminar columnas duplicadas hashset h = new Hashset (Sortresult); Sortresult.Clear (); Sortresult.addall (H); //3.Printout Sortresult.ForEach (E -> System.out.println (e)); //4.Print Número de System.out.println ("Organizar el número de combinaciones:" + Sortresult.size ()); } Lista privada <String> Sort (String Input) {List <String> sortList = new ArrayList (); if (input == null || "" .equals (input)) {System.out.println ("SUGER: ha ingresado un carácter nulo, ¡ingrese un valor válido!"); devolver nuevo 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, izquierda) .ToString ());}}); } else {sortList.Add (String.ValueOf (LeftChar)); } return sortList; }}Si hay una implementación de código más concisa, no seas tacaño y publíquela y compártela.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.