将一个数组内元素的所有组合输出

/**
 * 将一个数组内元素的所有组合输出
 * 思路:递归
 * 循环内每次按序从剩余数组中取出一个元素,和已经输出的部分合成
 */

package t7_1;
import java.util.*;
import java.io.*;
public class Test7_1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		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 temp = new LinkedList(candidate);//new LinkedList(candidate)---copy candidate
			listAll(temp, prefix+temp.remove(i));
		}
	}

}

你可能感兴趣的:(JAVA)