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