程序员的资源宝库

网站首页 > gitee 正文

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

sanyeah 2024-04-12 17:41:57 gitee 3 ℃ 0 评论

原创转载请注明出处: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]

 

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表