首页 > 编程语言 >Java 获取 List 中元素的所有子集

Java 获取 List 中元素的所有子集

时间:2023-02-19 21:13:25浏览次数:50  
标签:java List resultList util collect Java 子集 import

原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/17135599.html

 

Maven Dependency

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>31.1-jre</version>
</dependency>

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.7.22</version>
</dependency>

 

SRC

package org.fool.test;

import cn.hutool.core.math.MathUtil;
import com.google.common.collect.Lists;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class SubsetTest {
    public static void main(String[] args) {
        List<String> dataList = Lists.newArrayList("2", "3", "5");

        List<String[]> resultList = subset(dataList.toArray(String[]::new));

        resultList.forEach(p -> {
            List<String> collect = Arrays.stream(p).collect(Collectors.toList());
            System.out.println(collect);
        });
    }

    public static List<String[]> subset(String[] datas) {
        List<String[]> resultList = new ArrayList<>();

        for (int i = 0; i <= datas.length; i++) {
            List<String[]> result = MathUtil.combinationSelect(datas, i);
            resultList.addAll(result);
        }

        return resultList;
    }
}

 

Console Output

[]
[2]
[3]
[5]
[2, 3]
[2, 5]
[3, 5]
[2, 3, 5]

 

标签:java,List,resultList,util,collect,Java,子集,import
From: https://www.cnblogs.com/agilestyle/p/17135599.html

相关文章

  • 算法刷题-字符串最后一个单词的长度-JAVA
    0x00引言为获取一个良好的算法思维,以及不再成为一个脚本小子,争取每天一道算法题,培养自己的逻辑思维,温顾各类型语言语法知识。题解只写自己理解的解法,其他解法不再增加。......
  • Java开学考(用户注册与登录部分)
    .java文件:packagexuanke;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.S......
  • 外部排序【java实现】
    外部排序什么是外部排序?外部排序是一种把大量无序的数据,按一定的顺序排序的算法。它是一种非常适合处理海量数据的算法,其原理主要有以下几点:首先,将所有要排序的数据分......
  • Java Web(七)Request&Response
    Request&ResponseRequest:获取请求数据Response:设置响应数据一.Request对象1.Request继承体系Tomcat需要解析请求数据,封装为requestx对象并且创建requestx对象传递到servic......
  • 【JavaScript】17_debug,立即执行函数 与 严格模式
    14、debug<script>//debugger//在代码中打了一个断点console.log(a)//2vara=1console.log(a)//1fu......
  • 【JavaScript】18_面向对象,类与属性
    1、面向对象面向对象编程(OOP)程序是干嘛的?程序就是对现实世界的抽象(照片就是对人的抽象)对象是干嘛的?一个事物抽象到程序中后就变成了对象在程序的世界中,一切皆对象面向对象......
  • 零钱通小练习-java
    零钱通小练习面对过程!!!!packagecom.zhou.java.Demo03;​importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Scanner;​publicclassText{ ......
  • java基础
    JavaSEjava标识符命名规则:第一个字符:大小写字母,$(美元符),下划线三种其中任何一个都可以。第二个字符:任意字符组合。(不能是特殊字符#,;等)。 Java基本的数据类型:基本类型:......
  • Centos.JAVA 环境安装
    JAVA环境安装0x00.环境准备OSCentOSJDK1.8安装包jdk-8u131-linux-x64.tar.gz0x01.卸载自带的openjdk执行rpm-qa|grepjava命令,查看已经安装的openjdk执......
  • java无法连接es,外部无法访问ES的解决方案
    打开Elasticsearch安装路径下config目录下的elasticsearch.yml文件,加入如下配置:重新启动ES即可。PS:如果修改配置文件后,启动报错maxfiledescriptors[4096]forelast......