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); } }}
运行结果: ABC ACB BAC BCA CAB CBA