假设有两个字符串数组:
String[] s1={"狐狸","狗熊","香蕉","猴子","熊猫","大象","苹果"};
String[] s2={"西瓜","香蕉","蛋糕","苹果","长颈鹿","袋鼠","狗熊","鲸鱼"};
如何取他们的交集?

解决方案 »

  1.   

    答:代码:String[] s1={"狐狸","狗熊","香蕉","猴子","熊猫","大象","苹果"}; 
    String[] s2={"西瓜","香蕉","蛋糕","苹果","长颈鹿","袋鼠","狗熊","鲸鱼"}; 
    ArrayList al=new ArrayList(Arrays.asList(s1));
    al.retainAll(Arrays.asList(s2)); // al中的结果就是交集了.
            System.out.println("交集:"+al);
    运行结果:
    交集:[狗熊, 香蕉, 苹果]
      

  2.   


    public class Test{ 
      
      public static void main(String[] args){ 
      String[] s1={"狐狸","狗熊","香蕉","猴子","熊猫","大象","苹果"}; 
          String[] s2={"西瓜","香蕉","蛋糕","苹果","长颈鹿","袋鼠","狗熊","鲸鱼"}; 
          ArrayList a1=new ArrayList(Arrays.asList(s1));
          boolean flag=true;
          for(int i=0;i<s2.length;i++){
           for(int j=0;j<a1.size();j++){
           if(s2[i].equals(a1.get(0))){
          flag=false;
           }
           }
           if(flag){
           a1.add(s2[i]);
           }
           flag=false;
          }
          System.out.println(a1);
      }

      

  3.   

    out:
    [狐狸, 狗熊, 香蕉, 猴子, 熊猫, 大象, 苹果, 西瓜]
      

  4.   


    public class Test{ 
      
      public static void main(String[] args){ 
      String[] s1={"狐狸","狗熊","香蕉","猴子","熊猫","大象","苹果"}; 
          String[] s2={"西瓜","香蕉","蛋糕","苹果","长颈鹿","袋鼠","狗熊","鲸鱼"}; 
          ArrayList a1=new ArrayList();
          for(int i=0;i<s2.length;i++){
           for(int j=0;j<s1.length;j++){
           if(s2[i].equals(s1[j])){
           a1.add(s2[i]);
           }
           }
          }
          System.out.println(a1);
      }
    } 再改改
    [香蕉, 苹果, 狗熊]