zoukankan      html  css  js  c++  java
  • java list集合运算

    list集合运算

    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    public class ListDemo {
    
    	public static void main(String[] args) throws IOException, ClassNotFoundException {
    		// TODO Auto-generated method stub
    		  List <String> listA = new ArrayList <String>();
    		  listA.add("aa");
    		  listA.add("bb");
    		  listA.add("cc");
    		  
    		  List <String> listB = new ArrayList <String>();
    		  listB.add("cc");
    		  listB.add("dd");
    		  listB.add("ff");
    		  
    		  List <String> listC = new ArrayList <String>();
            		  
    		  listC = deepCopy(listA);
    		  
    		  //求并集
    		  listA.addAll(listB);
    		  System.out.println("--并集--" +listA);
    		  //--并集--[aa, bb, cc, cc, dd, ff]
    	
    		  //交集
    		  listA = deepCopy(listC); 
    		  listA.retainAll(listB);
    		  System.out.println("--交集--" +listA);
    		  //--交集--[cc]
    		 
    		  
    		  //差集
    		  listA = deepCopy(listC); 
    		  listA.removeAll(listB);
    		  System.out.println("--差集--" +listA);
    		  //--差集--[aa, bb]
    		  
    
    		  //无重复并集
    		  listA = deepCopy(listC); 
    		  listA.removeAll(listB);
    		  listA.addAll(listB);
    		  System.out.println("--无重复并集--" +listA);
    		  //--无重复并集--[aa, bb, cc, dd, ff]
    
    		  
    	}
    	
    	public static <T> List<T> deepCopy(List<T> src) throws IOException, ClassNotFoundException {  
    		/**
    		 * 深拷贝
    		 */
    	    ByteArrayOutputStream byteOut = new ByteArrayOutputStream();  
    	    ObjectOutputStream out = new ObjectOutputStream(byteOut);  
    	    out.writeObject(src);  
    
    	    ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());  
    	    ObjectInputStream in = new ObjectInputStream(byteIn);  
    	    @SuppressWarnings("unchecked")  
    	    List<T> dest = (List<T>) in.readObject();  
    	    return dest;  
    	} 
    }
    

      

  • 相关阅读:
    ABP
    妖道角
    检测空值,以及会不会出现mapping类型不一致的问题
    wcf服务契约代理链
    wcf服务契约继承
    win64+anaconda+xgboost(转)
    python中迭代问题
    ROC曲线和AUC值(转)
    python中split()和split(' ')的区别
    str和repr的区别(转)
  • 原文地址:https://www.cnblogs.com/xiao-apple36/p/9391325.html
Copyright © 2011-2022 走看看