首页 > 代码库 > 获取实现多个数据的全部排列组合

获取实现多个数据的全部排列组合

 

import java.util.ArrayList;import java.util.Collections;import java.util.List;public class ArrangedUtil {    private static List<List<?>> allList = new ArrayList<>();    public static <T>void getAll(List<T> list,List<T> list2,int n){        for (T object : list2) {            List<T> ll = new ArrayList<>();            ll.add(object);            List<T> ll2 = new ArrayList<>(list2);            ll2.remove(object);            ll.addAll(list);            getAll(ll,ll2,n);            if(ll.size() == n){                allList.add(ll);            }        }    }    public static void main(String[] args) {        List<Integer> data = http://www.mamicode.com/new ArrayList<>();        Collections.addAll(data, 1,2,3);        getAll(new ArrayList<Integer>(),data,data.size());        for (List<?> list: allList) {            System.out.println(list);        }    }}

运行结果:

技术分享

 

获取实现多个数据的全部排列组合