예를 들어, "ABC"를 입력하여 가능한 모든 조합을 인쇄하고 중복 값을 제거하십시오.
소위 배열 조합은 다음과 같습니다.
배열 조합, 문자열 : ABC
BCA
ACB
알파벳
CBA
BAC
택시
배열 및 조합의 수 : 6
구현 코드 (Java8 Lambda Expression 구현과 결합)
import org.junit.test; import java.util.arraylist; import java.util.hashset; import java.util.list; public class test2 {@test public void test3 () {문자열 입력 = "ABC"; // 1. 목록 배열 시작 <string> sortresult = sort (입력); System.out.println ( "정렬 조합, 문자열 :"+입력); // 2. 중복 열 제거 HASHSET h = New Hashset (Sortresult); sortresult.clear (); Sortresult.addall (H); //3.printout sortresult.foreach (e-> system.out.println (e)); //4.Print Printing System.out.println 수 ( "조합 수를 배열 :" + sortresult.size ()); } private list <string> sort (문자열 입력) {list <string> sortlist = new arraylist (); if (input == null || "".equals (input)) {System.out.println ( "팁 : null 문자를 입력 한 경우 유효한 값을 입력하십시오!"); 새로운 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, leftchar) .tostring ());}}); } else {sortlist.add (string.valueof (leftchar)); } 정렬 목록을 반환합니다. }}보다 간결한 코드 구현이있는 경우, 인색하지 말고 게시하고 공유하십시오.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.