博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用Java求集合的幂集
阅读量:4170 次
发布时间:2019-05-26

本文共 1191 字,大约阅读时间需要 3 分钟。

用Java求集合的幂集

输入一个集合,要求出集合中的所有幂集,首先要用到几个方法,我是用字符串的形式实现的。

substring() 截取字符串

split() 对字符串以给定的字符进行分隔

还用到set集合,好处在于,它能够去除相同的元素,利用这种特点可以方便地实现求集合的幂集。

需要建立两个Set集合

一个存放临时的元素,另一个存放最终要打印的元素

例如:集合A={a,b,c}

1.首先将a存入set1中。

2.从集合A中取出b元素,然后将set1集合中元素a,A集合中的元素b和元素ab(对字符串操作,将a和b连接成一个新的字符串)存入set2中,此时:

set1:a           set2:a,b,ab

3.将set2中元素添加到set1中,此时 :

set1:a,b,ab     set2:a,b,ab

4.再次执行上述b操作,此时从集合A中取出的是c元素,得到:

set1:a,b,ab     set2:a,b,ab,c,ac,bc,abc

5.再将set2中元素添加到set1中,此时 :

set1:a,b,ab,c,ac,bc,abc     set2:a,b,ab,c,ac,bc,abc

最后将set2中元素输出,并加上空集。

当然作为初学者,我想的这个方法也有一些不妥之处,就是在输入的集合中输入其它的小集合时,元素间的逗号得用中文的“,”表示(或者用其它符号表示),输入的大集合的元素间用英文的“,”表示,这样防止split()在切割输入的集合(字符串)时,若集合中的元素为一个集合或元素中还含有集合时,被错误的切割开。

代码如下:

import java.util.HashSet;import java.util.Iterator;import java.util.Scanner;import java.util.Set;public class Main {	public static void main(String[] args) {		System.out.println("输入集合:");				Scanner in =new Scanner(System.in);		String a=in.next();		String b=a.substring(1,a.length()-1);		String str[]=b.split(",");				Set
set1=new HashSet
(); //存放临时数据 Set
set2=new HashSet
(); //存放最终需要的数据 int n=1; set1.add(str[0]); for(int i=1;i

结果:

在这里插入图片描述

转载地址:http://hwwai.baihongyu.com/

你可能感兴趣的文章
HTML总结(一)
查看>>
3月英语--平平淡淡
查看>>
csf格式转换--逼自己一把
查看>>
ASP控件总结(一)
查看>>
Repeater&Validator控件使用
查看>>
细水翻起半点波涛--4月英语
查看>>
ASP--Active Server Pages Summary
查看>>
常见的电脑病毒
查看>>
站在巨人的肩膀上!
查看>>
2017年5月软考总结
查看>>
Node.js中运行JavaScript代码
查看>>
5月英语总结--I will do it well.
查看>>
认识JS
查看>>
Google浏览器--翻译一定要“出去”吗?
查看>>
bash:ifconfig:未找到命令
查看>>
送给毕业的歌
查看>>
嵌入式100题(017):malloc的底层实现
查看>>
嵌入式100题(018):在1G内存的计算机中能否malloc(1.2G)?为什么?
查看>>
嵌入式100题(019):指针与引用的相同和区别;如何相互转换?
查看>>
嵌入式100题(040):什么是三次握手
查看>>