条件:
现在有两数组(假设为String str1[]={"aa","bb","cc","dd","ee","ff"},str1[]={"ee","aa","sgg","fourth","admin","cc"}
现在我要把两个字符数组中相同的元素放在第三个数组中
如何实现?
(请付上相应代码,有注释更佳)

解决方案 »

  1.   

    public class Team {
    public static void main(String[] args) {
    String str1[] = { "aa", "bb", "cc", "dd", "ee", "ff" }, str2[] = {
    "ee", "aa", "sgg", "fourth", "admin", "cc" };
    for (int i = 0; i < str1.length; i++) {
    for (int j = 0; j < str2.length; j++) {//双循环遍历两个数组
    if (str1[i].equals(str2[j])) {
    System.out.println(str1[i]);//打印相同的部分
    }
    }
    }
    }
    }结果:
    aa
    cc
    ee
      

  2.   

    补充下吧,嘿嘿import java.util.*;public class csdntest2 {
        public static void main(String[] args) {
            String str1[] = { "aa", "bb", "cc", "dd", "ee", "ff" }, str2[] = {
                    "ee", "aa", "sgg", "fourth", "admin", "cc" };
            List<String> list = new ArrayList<String>();
            int num = 0;
            for (int i = 0; i < str1.length; i++) {
                for (int j = 0; j < str2.length; j++) {
                    if (str1[i].equals(str2[j])) {
                        list.add(str1[i]);
                        num ++;
                    }
                }
            }
            String[] str3 = new String[num];
            list.toArray(str3);
            for (int i = 0 ; i < str3.length; i ++){
             System.out.print(str3[i] + " ");
            }
        }
    }输出结果:
    aa cc ee
      

  3.   

      两个for 就ok了吧
      

  4.   


    public class CompareArray {
    public static void main(String[] args){
    String str1[]={"aa","bb","cc","dd","ee","ff"};
    String str2[]={"ee","aa","sgg","fourth","admin","cc"}; 

    List<String> list = new ArrayList<String>();//定义一个保存相同元素的列表

    List<String> str1_list = Arrays.asList(str1);//得到指定数组的列表视图
    for(String str : str2){
    if(str1_list.contains(str))list.add(str);
    }
    System.out.println(list);//指印的结果是:[ee, aa, cc]

    String[] str3 = new String[list.size()];//将列表转化成数组
    list.toArray(str3);

    }
    }
      

  5.   

    import java.util.*;public class csdntest2 {
        public static void main(String[] args) {
            String str1[] = { "aa", "bb", "cc", "dd", "ee", "ff" }, str2[] = {
                    "ee", "aa", "sgg", "fourth", "admin", "cc" };
            List<String> list = new ArrayList<String>();
            int num = 0;
            for (int i = 0; i < str1.length; i++) {
                for (int j = 0; j < str2.length; j++) {
                    if (str1[i].equals(str2[j])) {
                        list.add(str1[i]);
                        num ++;
                    }
                }
            }
            String[] str3 = new String[num];
            list.toArray(str3);
            for (int i = 0 ; i < str3.length; i ++){
                System.out.print(str3[i] + " ");
            }
        }
    }3楼  "list.toArray(str3);"牛
      

  6.   

    双循环了,记住要用equals比较。
    另外还可以用集合类,比循环简单
      

  7.   


    public static void main(String[] args) {
    String str1[]={"aa","bb","cc","dd","ee","ff"},
    str2[]={"ee","aa","sgg","fourth","admin","cc"};
    ArrayList<String> list = new ArrayList<String>(); //两个数组合并。
    TreeSet<String> set = new TreeSet<String>(); //两个数组不同的元素。
    for (int i = 0; i < str1.length; i++) {
    set.add(str1[i]);
    list.add(str1[i]);
    }
    for (int i = 0; i < str2.length; i++) {
    set.add(str2[i]);
    list.add(str2[i]);
    }
    Iterator itr = set.iterator();
    while(itr.hasNext()) {            //删除相同的元素。
    Object s = itr.next();
    if (list.contains(s))
    list.remove(s);
    }
    String[] str3 = new String[list.size()];
            list.toArray(str3);
            for (int i = 0 ; i < str3.length; i ++){
                System.out.print(str3[i] + " ");
            }
    }
    比较占用资源。但比起两个for嵌套,复杂度降低了。结果:ee aa cc 
      

  8.   


            String str1[]={"aa","bb","cc","dd","ee","ff"};
            String str2[]={"ee","aa","sgg","fourth","admin","cc"} ;
            Set< String> list1 = new HashSet<String>();
            Set< String> list2 = new HashSet<String>();
            Set<String> list = new HashSet<String>();
            CollectionUtils.addAll(list1, str1);   
            CollectionUtils.addAll(list, str1);   
            CollectionUtils.addAll(list2, str2);   
            list1.removeAll(list2);
            list.removeAll(list1);
            String[] str = new String[list.size()];
            list.toArray(str);
            for(int i = 0; i < str.length; i++)
            {
                System.out.println(str[i]);
            }str就是那个数组。
      

  9.   

    import java.util.Collections;
    import java.util.HashSet;
    import java.util.Set;public class A {
    public static void main(String[] args) {
    String str1[] = { "aa", "bb", "cc", "dd", "ee", "ff" };
    String str2[] = { "ee", "aa", "sgg", "fourth", "admin", "cc" };
    Set<String> list1 = new HashSet<String>();
    Set<String> list2 = new HashSet<String>();
    Set<String> list = new HashSet<String>();
    Collections.addAll(list1, str1);
    //System.out.println("list1" + list1); Collections.addAll(list, str1);
    //
    System.out.println("list" + list); Collections.addAll(list2, str2);
    //System.out.println("list2" + list2); list1.removeAll(list2);
    //System.out.println("list1.removeAll(list2)" + list1);
    list.removeAll(list1);
    //System.out.println("list.removeAll(list1)" + list); String[] str = new String[list.size()];
    list.toArray(str);
    for (int i = 0; i < str.length; i++) {
    System.out.println(str[i]);
    }
    }
    }
      

  10.   


    String str1[]={"aa","bb","cc","dd","ee","ff"},str2[]={"ee","aa","sgg","fourth","admin","cc"} ;
    String str[]=null;//待求数组.
    ArrayList a1 = new ArrayList(str1);
    ArrayList a2 = new ArrayList(str2);
    ArrayList a  = new ArrayList();
    a.addAll(a1);
    a1.removeAll(a2);a2.removeAll(a);
    a.addAll(new ArrayList(a2));
    a.removeAll(a1);
    a.removeAll(a2);
    str = new String [a.size()];
    a.toArray(str);
      

  11.   

    ArrayList a1 = new ArrayList(str1);
    可以这样吗?
      

  12.   

    失误了,上面那个不算.String str1[]={"aa","bb","cc","dd","ee","ff"},str2[]={"ee","aa","sgg","fourth","admin","cc"} ;
    String str[]=null;//待求数组.
    ArrayList a = new ArrayList(str1);
    a.retainAll(new ArrayList(str2));
    str = new String[a.size()];
    a.toArray(str);
    //搞定,str就是所求数组