import java.util.ArrayList; import java.util.Arrays; import java.util.List;
public class Test{ private static String[] s = new String[]{"a","b","a"}; private static int l = s.length; private static List<String> list = new ArrayList<String>(); public static void main(String[] args) { List<String> source = Arrays.asList(s); List<String> target = new ArrayList<String>(); sort(source,target); }
private static void sort(List<String> source, List<String> target) { if(target.size() == l){ if(!list.contains(target.toString())){ list.add(target.toString()); for(int i=0;i<target.size();i++){ System.out.print(target.get(i)); } System.out.println(); } } for(int i=0;i<source.size();i++){ List<String> targetList = new ArrayList<String>(target); targetList.add(source.get(i)); List<String> resourceList = new ArrayList<String>(source); resourceList.remove(i); sort(resourceList,targetList); } } }
转载于:https://www.cnblogs.com/iamconan/p/7383612.html
相关资源:去重全排列的递归实现