zoukankan      html  css  js  c++  java
  • 22.1-在散列集上进行集合操作

    创建两个散列规则集,{“George”,"Jim","John","Blake","Kevin","Michael"} {"George","Katie","Kevin","Michael","Ryan"}求他们的并集,差集,交集。

    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;
    
    public class execise22_1 {
    	public static void main(String args[]) {
    		Set<String> setFirst = new HashSet<String>();
    		Set<String> setSecond = new HashSet<String>();
    
    		setFirst.add("George");
    		setFirst.add("Jim");
    		setFirst.add("John");
    		setFirst.add("Blake");
    		setFirst.add("Kevin");
    		setFirst.add("Michael");
    
    		setSecond.add("George");
    		setSecond.add("Katie");
    		setSecond.add("Kevin");
    		setSecond.add("Michael");
    		setSecond.add("Ryan");
    
    		Set<String> union = new execise22_1().getUnion(setFirst, setSecond);
    
    		Set<String> difference = new execise22_1().getDifference(setFirst,setSecond);
    
    		Set<String> common = new execise22_1().getCommon(setFirst, setSecond);
    		
    		System.out.println(difference);
    		System.out.println(union);
    		System.out.println(common);
    
    	}
    
    	/**
    	 * 求差集 
    	 * 
    	 * @param setFirst
    	 * @param setSecond
    	 * @return
    	 */
    	private Set<String> getDifference(Set<String> setFirst,
    			Set<String> setSecond) {
    		Set<String> setDifference = new HashSet<String>();
    
    		Iterator<String> iteratorFirst = setFirst.iterator();
    		while (iteratorFirst.hasNext()) {
    			String temp = iteratorFirst.next();
    			if (!setSecond.contains(temp)) {
    				setDifference.add(temp);
    			}
    		}
    
    		Iterator<String> iteratorSecond = setSecond.iterator();
    		while (iteratorSecond.hasNext()) {
    			String temp = iteratorSecond.next();
    			if (!setFirst.contains(temp)) {
    				setDifference.add(temp);
    			}
    		}
    		return setDifference;
    	}
    
    	/**
    	 * 求并集合
    	 * 
    	 * @param setFirst
    	 * @param setSecond
    	 * @return
    	 */
    	private Set<String> getUnion(Set<String> setFirst, Set<String> setSecond) {
    		Set<String> unionSet = new HashSet<String>(setFirst);
    		unionSet.addAll(setSecond);
    		return unionSet;
    	}
        
    	/**
    	 * 求交集
    	 * @param setFirst
    	 * @param setSecond
    	 * @return
    	 */
    	private Set<String> getCommon(Set<String> setFirst, Set<String> setSecond) {
    		Set<String> commonSet = new HashSet<String>();
    
    		Iterator<String> iteratorFirst = setFirst.iterator();
    		while (iteratorFirst.hasNext()) {
    			String temp = iteratorFirst.next();
    			if (setSecond.contains(temp)) {
    				commonSet.add(temp);
    			}
    			
    		}
    		return commonSet;
    	}
    }
    

      输出:

    [Katie, Jim, Blake, Ryan, John]
    [Katie, Jim, Blake, Ryan, John, Kevin, George, Michael]
    [Kevin, George, Michael]
    

      

  • 相关阅读:
    php框架laravel:数据库建立:artisan
    SpringCloud微服务(03):Hystrix组件,实现服务熔断
    SpringCloud微服务(02):Ribbon和Feign组件,实现服务调用的负载均衡
    SpringCloud微服务(01):Eureka组件,管理服务注册与发现
    SpringBoot2基础,进阶,数据库,中间件等系列文章目录分类
    Java描述设计模式(04):抽象工厂模式
    Java描述设计模式(03):工厂方法模式
    Java描述设计模式(02):简单工厂模式
    Java描述设计模式(01):单例模式
    SpringBoot2.0 整合 SpringSecurity 框架,实现用户权限安全管理
  • 原文地址:https://www.cnblogs.com/wuxinliulei/p/4271274.html
Copyright © 2011-2022 走看看