首页 > 代码库 > 集合合并
集合合并
1.集合合并: 给定一个字符串的集合,格式如: {aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh} 要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应 输出 {aaa bbb ccc ddd hhh},{eee fff}, {ggg}
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度
(3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。
2.集合合并,同时去掉重复的元素,并进行排序
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; import java.util.Set;public class Test1{ public static void main(String[] args){ int[] arr1={4,7,5,1,4}; int[] arr2={9,3,7,8,0,7,4}; //set集合是不允许重复的,所以将数组的值放入set集合值,hashSet采用的是散列存储,所以没有顺序 Set<Integer> set=new HashSet<Integer>(); for (int i=0;i<arr1.length;i++) { set.add(arr1[i]); } for (int j=0;j<arr2.length;j++) { set.add(arr2[j]); } //得到的是不重复的值,Set的长度 int num=set.size(); System.out.println(num); int num2=0; Iterator it=set.iterator(); int[] arrays=new int[num]; while(it.hasNext()){ int a=(Integer)it.next(); arrays[num2]=a; num2=num2+1; } //对集合进行排序,并取出 Arrays.sort(arrays); for(int k=0;k<arrays.length;k++){ System.out.print(arrays[k]); } }}
集合合并
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。