字串陣列排列組合成新的字串
阿新 • • 發佈:2019-01-21
package com.mindao.app.vpatient.utils; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; /** /* 版權所有: 廣州敏道科技有限公司 /* /* 功能描述: 字串處理工具類 /* /* 創 建 人:李國才 /* 建立時間:2016年8月8日 上午10:35:35 **/ public class StringUtils { /** * ABCD等多個數組元素任意組合得到所有的使用了全部元素的新字串陣列, * 比如ABC應該有3*2=6種,ABCD 有4*3*2=12種組合 * @param list * @param s * @return */ public static List<String> getAllSortList(List<String> list,String s){ if (list.size()==1){ List<String> tmpList =new ArrayList<>(); String tmps= s+list.get(0); tmpList.add(tmps); return tmpList; } List<String> allList =new ArrayList<>(); for (int i=0;i<list.size();i++) { List<String> tmpList =new ArrayList<>(list); List<String> tmpList2 =getAllSortList(tmpList,s+tmpList.remove(i)); allList.addAll(tmpList2); } return allList; } public static void main(String[] args) { List<String> orgList =new ArrayList<>(); orgList.add("A"); orgList.add("B"); orgList.add("C"); List<String> desList = getAllSortList(orgList,""); for (String des : desList) { System.out.println(des); } } }
</pre><pre code_snippet_id="1824640" snippet_file_name="blog_20160811_3_7026884" name="code" class="java">
執行結果:
ABCACB
BAC
BCA
CAB
CBA