首页 > 其他 > 详细

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

时间:2016-10-03 07:07:03      阅读:347      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!