两个List去掉重复元素放在一个List中去【两个Listsize值非常大】

  1. /* 
  2.  * 思路: 
  3.  * 1.取得两个list的相同元素:list.retainAll(E)方法 
  4.  * 2.两个list分别去掉相同的元素:list.removeAll(E); 
  5.  * 3.将剩下的两个List分别加入到一个新的List去:addAll 
  6.  */  
  7. public class Test1 {  
  8.     public static void main(String[] args) {  
  9.         List list1 = new ArrayList();  
  10.         Random random = new Random();  
  11.            
  12.         //list1随机添加1千个数据  
  13.         for(int i=1;i<1000;i++){  
  14.             list1.add(random.nextInt(i)*10);  
  15.         }  
  16.           
  17.         List list2 = new ArrayList();  
  18.         //list2随机添加1 万个数据  
  19.         for(int i=1;i<10000;i++){  
  20.             list2.add(random.nextInt(i)*100);  
  21.         }  
  22.         System.out.println("list1的大小:       "+list2.size());  
  23.           
  24.           
  25.         //temp用来保存两者共有的数据  
  26.         List temp = new ArrayList(list1);  
  27.         System.out.println(temp);  
  28.           
  29.         //retainAll(Collection<?> c)   
  30.         //仅在列表中保留指定 collection 中所包含的元素  
  31.         //这里的意思是temp只保留list2中有的元素  
  32.           
  33.         //取得相同的元素  
  34.         temp.retainAll(list2);  
  35.           
  36.         System.out.println(temp);  
  37.         //从list1和list2中去掉两者共同有的数据  
  38.         list1.removeAll(temp);  
  39.         list2.removeAll(temp);  
  40.   
  41.   
  42.         List list3 = new ArrayList();  
  43.         list3.addAll(list1);  
  44.         list3.addAll(list2);  
  45.            
  46.         System.out.println(list3.size());   
  47.           
  48.         }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值