列出一个数组的全部组合


循环递归,细细理解。
package com.recursion;

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class Combination {
	
	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)
	{
		
		System.out.println(prefix);
		for(int i=0;i<candidate.size();i++)
		{
			List temp = new LinkedList(candidate);
			listAll(temp,prefix+temp.remove(i));
		}
	}

}

你可能感兴趣的:(java)