• 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]
    

      

  • 相关阅读:
    windows加固
    linux加固
    加密与编码
    XSS笔记
    hackbar功能简介
    机器学习 | 从加法模型讲到GBDT算法
    把时间还给洞察,且看PPT调研报告自动生成攻略
    树莓派3折腾笔记
    看数学老师是如何一键搞定报告和试卷的
    博客笔记(blog notebook)
  • 原文地址:https://www.cnblogs.com/wuxinliulei/p/4271274.html
Copyright © 2020-2023  润新知