基于ArrayList求两集合的交集并集差集(《梁勇2011java语言程序设计基础篇》22章java集合框架编程练习题22.4)

Copyright vivi_and_qiao liwei
import java.util.*;
public class List_operation {
 public   static boolean existstr(ArrayList<String> array,String s)
 {
  for(int i=0;i<array.size();i++)
   {
   if(array.get(i).equals(s)==true)
   {
    return true;
   }
         }
 return false;
 }
public static  ArrayList<String> list_union(ArrayList<String>array1,ArrayList<String>array2)
{ 
 ArrayList<String>array3=new ArrayList<String>();
 for(int i=0;i<array1.size();i++)
  {array3.add(array1.get(i));
  }
 for(int i=0;i<array2.size();i++)
  if(!existstr(array1,array2.get(i)))
   {array3.add(array2.get(i));
   }
    return array3; 
}
public static  ArrayList<String> list_intersection(ArrayList<String>array1,ArrayList<String>array2)
{
 ArrayList<String>array3=new ArrayList<String>();
 for(int i=0;i<array1.size();i++)
  if(existstr(array2, array1.get(i)))
    array3.add(array1.get(i));
  return array3;
 }
public static  ArrayList<String> differenc_set(ArrayList<String>array1,ArrayList<String>array2)
{
 ArrayList<String>array3=new ArrayList<String>();
 for(int i=0;i<array1.size();i++)
 {
  if(!existstr(array2,array1.get(i)))
   array3.add(array1.get(i));
 }
 return array3;
 }
public static void main(String []args)
{
 ArrayList<String>array1=new ArrayList<String>();
 ArrayList<String>array2=new ArrayList<String>();
 ArrayList<String>array3=new ArrayList<String>();
  String s1[]={"George","Jim","John","Blake","Kevin","Michael"};
  String s2[]={"George","Katie","Kevin","Michelle"};
 for(int i=0;i<s1.length;i++) 
 array1.add(s1[i]);
 for(int i=0;i<s2.length;i++) 
  array2.add(s2[i]);
    System.out.println("两lists的并集");
    array3=list_union(array1,array2);
     for(String it:array3)
      System.out.print("  "+it);
     System.out.println('\n'+"两lists的交集");
     array3=list_intersection(array1,array2);
     for(String it:array3)
      System.out.print("  "+it);
     System.out.println('\n'+"array1与array2的差集");
     array3=differenc_set(array1,array2);
     for(String it:array3)
      System.out.print("  "+it);
     System.out.println('\n'+"array2与array1的差集");
    array3=differenc_set(array2,array1);
     for(String it:array3)
      System.out.print("  "+it);
}}
Copyright vivi_and_qiao liwei
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值