把一个数组里的数组合全部列出,比如1和2列出来为1,2,12,21
- import java.util.Arrays;
- import java.util.LinkedList;
- import java.util.List;
-
- public class Test {
- public static void main(String[] args) {
- String[] array = new String[]{"1","2","3","4"};
- listAll(Arrays.asList(array), "");
- }
- public static void listAll(List candidate, String prefix) {
- //if(candidate.isEmpty()){
- System.out.println(prefix);
- //}
- for(int i=0;i<candidate.size();i++) {
- List tmp = new LinkedList(candidate);
- listAll(tmp, prefix + tmp.remove(i));//函数中的参数从右边开始解析
- }
- }
- }
去掉注释后只显示取出所有数的组合
|