zoukankan      html  css  js  c++  java
  • 集合合并

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

      

  • 相关阅读:
    变量按数据类型分类
    构造方法重载 及注意事项
    构造方法-带参
    构造方法-无参
    对对象中的属性赋值(两种方法)
    局部变量的值赋给成员变量 案例(红色字体)
    成员变量与局部变量区别
    创建对象综合案例
    20151015css3 部分css2的内容
    20151012jq4
  • 原文地址:https://www.cnblogs.com/GumpYan/p/5853559.html
Copyright © 2011-2022 走看看