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

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);
        }
    }
}

运行结果:

时间: 2025-01-01 13:59:09

获取实现多个数据的全部排列组合的相关文章

获取百度地图POI数据二(准备搜索关键词)

上篇讲到  想要获取尽可能多的POI数据 需要准备尽可能多的搜索关键字   那么这些关键字如何得来呢?   本人使用的方法是通过一些网站来获取这些关键词   http://poi.mapbar.com/这个网站有全国各地的POI数据  对各个城市的POI数据都有归类  我便是从这个网站上面获取了上海市的各个类别的关键词  比如上海市所有的门牌号码  公路名称  地铁名称等等  下面介绍如何获取这些信息 和获取百度POI数据所用的方法一样,都是通过分析这个网站的url然后替换其中的参数获取不同的数

获取百度地图POI数据一(详解百度返回的POI数据)

POI是一切可以抽象为空间点的现实世界的实体,比如餐馆,酒店,车站,停车场等.POI数据具有空间坐标和各种属性,是各种地图查询软件的基础数据之一.百度地图作为国内顶尖的地图企业,其上具有丰富的POI数据,要获取其上的POI数据可以根据百度地图提供的API,但是这种方式有限制,能获取的数据极少.本文将详细介绍通过模拟HTTP请求的方式获取其上的POI数据. 当我们在百度地图的搜索框中通过输入关键字进行搜索时,这其实就是发送一个HTTP请求到百度的服务器,然后服务器返回数据. 打开网页的调试面板可以

选中并获取表格中的数据

1. 对于循环出来的表格,我们需要获取表格的数据,不使用id . 表格: <table class="table" id="userTable"> <thead> <tr> <th>表格标题</th> <th>表格标题</th> <th>表格标题</th> </tr> </thead> <tbody> <tr>

利用备份技术获取apk本地存储数据

即使设备没有root,我们也可以通过物理访问设备来获取应用程序的数据,我们还可以通过此方法改变一个应用程序的数据.如果一个应用程序将数据存储在客户端, 使用简单的密码或pin检查,攻击者有可能使用这种方法来绕过这些检查.在本文中,我们将讨论如何在一台没有root的设备上利用这种方法来改变应用程序特定的数据.主要操作步骤如下所示: Step 1: 备份目标应用 Step 2: 去掉头部信息然后保存文件 Step 3: 做必要的修改 Step 4: 从原始的”.ab”文件获得头部信息 Step 5:

使用PreparedStatement向数据表中插入、修改、删除、获取Blob类型的数据

Blob介绍 BLOB类型的字段用于存储二进制数据 MySQL中,BLOB是个类型系列,包括:TinyBlob.Blob.MediumBlob.LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同. MySQL的四种BLOB类型 类型       大小(单位:字节) TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G Oracle LOB介绍 LOB,即Large Objects(大对象),是用来存储大量的二

oracle中从指定日期中获取月份或者部分数据

从指定日期中获取部分数据: 如月份: select to_CHAR(sysdate,'MM') FROM DUAL; 或者: select extract(month from sysdate) from dual; 又或者最笨的方法.用to_char()先把日期转化为指定格式的字符串,在通过substr()这个取到想要的数据. select substr(to_char(sysdate,'yyyy-mm-dd'),6,2) from dual; 获取日期其他部分数据和上方法一样.

perl post函数获取网页内容及解析数据的例子

#!/usr/bin/perl -w # 程序代码只是简单说明获取解析网页内容及匹配模式使用的例子,逻辑并不是很严密use utf8;binmode(STDIN, ':encoding(utf8)');binmode(STDOUT, ':encoding(utf8)');binmode(STDERR, ':encoding(utf8)'); use LWP::UserAgent;use Encode; sub get_data{    if(@_ != 1)    {        print

SQL Server获取指定行的数据

SQL Server获取指定行(如第二行)的数据 --SQL Server获取指定行(如第二行)的数据-- --法一(对象法)-- select * from ( select * , number = row_number() over(order by Grade desc) from Students )  m where number = 2 --法二(排除法)--- select top 1 * from Students where Grade not in ( select top

在Action中获取表单提交数据

-----------------siwuxie095 在 Action 中获取表单提交数据 1.之前的 Web 阶段是提交表单到 Servlet,在其中使用 Request 对象 的方法获取数据 2.Struts2 是提交表单到 Action,但 Action 没有 Request 对象,不能 直接使用 Request 对象获取数据 「可以间接使用 Request 对象获取数据」 3.Action 获取表单提交数据主要有三种方式: (1)使用 ActionContext 类 (2)使用 Ser