「java一个集合的组合」java什么是集合

博主:adminadmin 2022-12-03 19:27:08 64

今天给各位分享java一个集合的组合的知识,其中也会对java什么是集合进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA 中集合和组合是一个意思么?

composition 是组合,指的是类与类之间的关系,几种常见的关系有,继承,组合,关联,聚合,依赖等...

collections 是集合,是指容器,常见的子类接口有,List,Map。简单来说,就是用来装其它东西的,被装东西可以是基础类型的数据...

java实现排列组合输出

完成了一种实现,发给你参考下。

不过感觉应该还有更好的办法,有时间我会继续研究下.

import java.util.ArrayList;

import java.util.Arrays;

import java.util.HashSet;

import java.util.List;

import java.util.Set;

public class TestQiuhe {

    //集合a{1,2,3,5,7,10},输出不多于4个元素(不重复)的加和为22的组合。

    public static void main(String[] args) {

        int[] nums={1,2,3,5,7,10};

        int l = nums.length;

        Listint[] results=new ArrayListint[]();

        for(int i1=0;i1l;i1++){

            for(int i2=0;i2l;i2++){

                if(nums[i1]==22){

                    results.add(new int[]{nums[i1]});

                }

                if(i2!=i1){

                    if(nums[i1]+nums[i2]==22){

                        results.add(new int[]{nums[i1],nums[i2]});

                    }

                    for(int i3=0;i3l;i3++){

                        if(i3!=i1  i3!=i2){

                            if(nums[i1]+nums[i2]+nums[i3]==22){

                                results.add(new int[]{nums[i1],nums[i2],nums[i3]});

                            }

                            for(int i4=0;i4l;i4++){

                                if(i4!=i1  i4!= i2  i4!=i3){

                                    if(nums[i1]+nums[i2]+nums[i3]+nums[i4]==22){

                                        results.add(new int[]{nums[i1],nums[i2],nums[i3],nums[i4]});

                                    }

                                }

                            }

                        }

                    }

                }

            }

        }

        //去重

        SetString reSet=new HashSet();

        for(int[] r:results){

            Arrays.sort(r);

            reSet.add(Arrays.toString(r));

        }

        System.out.println("一共得到结果集:"+reSet.size());

        System.out.println(reSet);

    }

}

运行结果:

一共得到结果集:2

[[5, 7, 10], [2, 3, 7, 10]]

求java实现String list[] = { "1", "2", "3" }; 的排列组合代码

对于这个问题,我首先需要纠正一下楼主的措辞,这是个组合问题,跟排列无关,用排列组合亦不恰当。下面说下我的想法

元素不能重复,首先应该去掉相同的元素,最好的办法是用set来实现。参考api

Arrays.asList

set.addAll

其实呢,这个是一个递归的过程,考虑下面情况

对于数组

{“1”},它的组合数就是{“1”}。

如果再加上一个元素“2“到上面的数组中,那么,如果这个”2“不用,实质上跟{"1"}的情况是一样的,这与不能重复相矛盾,所以”2“一定要用,就是在"1"中再加上”2“;于是我们得到

对于数组{”1“,”2“}它的组合数是{”1“}

再加入一个{”2“}。也许你也考虑到另外一种情况,即”2“也是它的一个组合数,我们考虑丢了,为什么呢,因为在{”1“}中实质上还有一个称为空的集合。这样的话,重新整理一下:

1.对于list

=

{"1"},它的组合包括

{"1"},以及

empty.

2.对于list={"1","2"},它的组合包括{”1“,”2“}(在{”1“}中加了”2“),{”2“}(在empty中加入”2“),也许你还会讲还应该包括{”1“},但是这个{”1“}我们已经在第1步就已经算出来了,不用再考虑了。

按照这样的规则进行下去,你会发现这样就把所有的组合数遍历出来了。要具体的代码就等会儿,我现在有事。

java编程n个集合每次从每个集合里面取出一个元素组成一个字符串列出所有组合算法

import java.util.ArrayList;

import java.util.List;

public class XX {

 

    public static void main(String[] args)  

    {  

        String[] arr1 = { "1", "2","3","4"};  

        String[] arr2 = { "a", "b","c","d" };  

        String[] arr3 = { "A","B","G","H" };  

        ListString[] list = new ArrayListString[]();  

        list.add(arr1);  

        list.add(arr2);  

        list.add(arr3);  

        test(list, arr1, "");  

    }  

  

    public static void test(ListString[] list, String[] arr, String str)  

    {  

        for (int i = 0; i  list.size(); i++)  

        {  

            //取得当前的数组  

            if (i == list.indexOf(arr))  

            {  

                //迭代数组  

                for (String st : arr)  

                {  

                    st = str + st;  

                    if (i  list.size() - 1)  

                    {  

                        test(list, list.get(i + 1), st);  

                    }  

                    else if (i == list.size() - 1)  

                    {  

                        System.out.println(st);  

                    }  

                }  

            }  

        }  

    }  

}

计算结果:

1aA

1aB

1aG

1aH

1bA

1bB

1bG

1bH

1cA

1cB

1cG

1cH

1dA

1dB

1dG

1dH

2aA

2aB

2aG

2aH

2bA

2bB

2bG

2bH

2cA

2cB

2cG

2cH

2dA

2dB

2dG

2dH

3aA

3aB

3aG

3aH

3bA

3bB

3bG

3bH

3cA

3cB

3cG

3cH

3dA

3dB

3dG

3dH

4aA

4aB

4aG

4aH

4bA

4bB

4bG

4bH

4cA

4cB

4cG

4cH

4dA

4dB

4dG

4dH

JAVA 中集合和组合是一个意思么

不是一个意思

集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。

想想你用到的数组 如果要在里面加入新元素 就要新建一个数组 又要开辟空间

比如存储你们班的同学 如果你也不知道你们班有多少人 你给数组开辟多少空间呢?

如果新来了同学呢?

集合可以完美解决这个问题 你往集合放元素是不会又开辟新空间的

java一个集合的组合的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java什么是集合、java一个集合的组合的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-03,除非注明,否则均为首码项目网原创文章,转载请注明出处。