集合合并

Posted Gump Yan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合合并相关的知识,希望对你有一定的参考价值。

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]);
			}

		}
}

  

以上是关于集合合并的主要内容,如果未能解决你的问题,请参考以下文章

laravel特殊功能代码片段集合

Python代码阅读(第19篇):合并多个字典

金蝶handler中 collection 代码片段理解

实体框架代码优先 - 将两个字段合并为一个集合

Alfred常见使用

比较 C# 中的字符串片段并从集合中删除项目