码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-10-03 07:08:25      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

 

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 = new ArrayList<>();
        Collections.addAll(data, 1,2,3);
        getAll(new ArrayList<Integer>(),data,data.size());
        for (List<?> list: allList) {
            System.out.println(list);
        }
    }
}

运行结果:

技术分享

 

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

标签:

原文地址:http://www.cnblogs.com/pf1988/p/5928516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!