String array1[]={"1","2","3"}
String array2[]={"2","3","4"}目的是想把两个数组合并成第三个数组array3,并且保证值不重复,排序

解决方案 »

  1.   

    public class T {    /**
         * @param args
         */
        public static void main(String[] args) {        String array1[] = {"1", "2", "3"};
            String array2[] = {"2", "3", "4"};
            List<String> arr = new ArrayList<String>();
            for (int i = 0; i < array1.length; i++) {
                if (!arr.contains(array1[i])) {
                    arr.add(array1[i]);
                }
            }
            for (int j = 0; j < array2.length; j++) {
                if (!arr.contains(array2[j])) {
                    arr.add(array2[j]);
                }
            }
            Collections.sort(arr);
            int size = arr.size();
            String array3[] = new String[size];
            for (int k = 0; k < size; k++) {
                array3[k] = (String) arr.get(k);
            }
        }
    }
      

  2.   

    List<String> list = new ArrayList<String>();
    Set<String> set = new TreeSet<String>();
    String[] a ={"1","2","3"};
    String[] b ={"4","2","3"};
    for(String str:a){
    set.add(str);
    }
    for(String str:b){
    set.add(str);
    }
    list.addAll(set);
    String[] c = list.toArray(a);
    for(String str:c){
    System.out.println(str);
    }
      

  3.   

    import java.util.HashMap;
    import java.util.Map;
    public class Tester {
    public static void main(String[] args) {
    String array1[]={"1","2","3"};
    String array2[]={"2","3","4"};
    Map<String ,String> m=new HashMap<String,String>();
    for(int i=0;i<array1.length;i++)
    m.put(array1[i],array1[i]);
    for(int i=0;i<array2.length;i++)
    m.put(array2[i],array2[i]);
    String array3[]=new String[m.size()];
    int j=0;
    for(String s:m.keySet()){
    array3[j]=s;
    j++;
    }
    for(int i=0;i<array3.length;i++)
    System.out.print(array3[i]+" ");
    }}
      

  4.   


    import java.util.Arrays;
    import java.util.Set;
    import java.util.TreeSet;public class Test {
    public static void main(String[] args) {
    String[] array1={"1","2","3"};
    String[] array2={"2","3","4"};
    Set<String> set = new TreeSet<String>();
    set.addAll(Arrays.asList(array1)); //也可以用for循环加,效率更高
    set.addAll(Arrays.asList(array2)); //也可以用for循环加,效率更高
    String[] result = set.toArray(new String[0]);
    System.out.println(Arrays.toString(result));
    }
    }
    1楼用List,判断是否存在和排序,完全可以用TreeSet
    2楼方法比较好,list.addAll(set); String[] c = list.toArray(a); 其实可以用set.toArray(a)来精简
    3楼用map来保证唯一性,但没有排序,方法不是最佳的。
      

  5.   

    import java.util.HashSet;public class Test { public static void main(String[] args) {
    // TODO Auto-generated method stub
    String array1[]={"1","2","3"};
    String array2[]={"2","3","4"};
    java.util.Set set = new HashSet();
    for(int i=0;i<array1.length;i++)
    set.add(array1[i]);
    for(int i=0;i<array2.length;i++)
    set.add(array2[i]);
    Object str[] = set.toArray();
    for(int i=0;i<str.length;i++)
    System.out.println(str[i]);
    }
    }
      

  6.   


    import java.util.Arrays;
    public class T0613
    { public static void main(String[] args)
    {
    String array1[]={"1","2","3"}; 
    String array2[]={"2","3","4"};
    String temp[],sorAry[];

    temp=new String[array1.length+array2.length];
    sorAry=new String[array1.length+array2.length];

    System.arraycopy(array1, 0, temp, 0, array1.length);
    System.arraycopy(array2, 0, temp, 3, array2.length);
    int k;
    Arrays.sort(temp); for(int i=0;i<temp.length-1;i++)
    {

    if(temp[i]!=temp[i+1])//4
    sorAry[i]=temp[i];
    if(i==temp.length-2&&temp[i]!=temp[i+1])
    {sorAry[i]=temp[i];i++;sorAry[i]=temp[i];}


    }
    //Arrays.sort(sorAry);
    for(int i=0;i<temp.length;i++)
    {
    System.out.println("=="+sorAry[i]);
    }


    }}
      

  7.   


    import java.util.TreeSet;public class Tester { public static void main(String[] args) {
    TreeSet<String> ts = new TreeSet<String>();
    String[] array1 = {"1", "2", "3"};
    String[] array2 = {"2", "3", "4"};
    for (String s : array1) ts.add(s);
    for (String s : array2) ts.add(s);
    String[] r = ts.toArray(new String[ts.size()]);
    for (String s : r) System.out.println(s);
    }}
      

  8.   

    String array1[]={"1","2","3"};
    String array2[]={"2","3","4"};
    String array3[]=null;
    TreeSet<String> hs = new TreeSet<String>();
    hs.addAll(Arrays.asList(array1));
    hs.addAll(Arrays.asList(array2));
    array3 = (String[]) hs.toArray(new String[hs.size()]);
    System.out.println(Arrays.toString(array3))
      

  9.   

    使用 String[] result = set.toArray(new String[set.size()]); 效率比较高,
    否则在 toArray 的实现中,当它发现作为参数传递进方法的数组长度不够时,会自己创建一个足以容纳下 set 中元素的数组来代替参数数组的。
      

  10.   

    以调试过运行验证过,结果正确import java.util.*;
    public class T {     /** 
        * @param args 
        */ 
        public static void main(String[] args) {         String array1[] = {"1", "2", "3"}; 
            String array2[] = {"2", "3", "4"}; 
            List <String> arr = new ArrayList <String>(); 
            for (int i = 0; i < array1.length; i++) { 
                if (!arr.contains(array1[i])) { 
                    arr.add(array1[i]); 
                } 
            } 
            for (int i = 0; i < array2.length; i++) { 
                if (!arr.contains(array2[i])) { 
                    arr.add(array2[i]); 
                } 
            } 
            Collections.sort(arr); 
            int size = arr.size(); 
            String array3[] = new String[size]; 
            for (int i = 0; i < size; i++) { 
                array3[i] = (String) arr.get(i); 
            } 
            for(int i=0;i<size;i++)
            {
             System.out.print(array3[i]+" ");
            }
        } 
    }
      

  11.   

    上面几位都说对了.这个主要二步
    1.去除重复的. 
    2.排序在java容器中,实现这二种功能的有treemap和Treeset 所以.
            
            String[] array1={"1","2","3"};
            String[] array2={"2","3","4"};
            TreeMap<String,String> set = new TreeMap<String,String>();
            for(String s:array1)
                set.put(s, s);
            
            for(String b:array2)
                set.put(b, b);
            
            System.out.println(set.values());这也可以     
      

  12.   

    嗯,方法都不错。
    个人最喜欢这一种:
    [align=center]List <String> list = new ArrayList <String>(); 
    Set <String> set = new TreeSet <String>(); 
    String[] a ={"1","2","3"}; 
    String[] b ={"4","2","3"}; 
    for(String str:a){ 
    set.add(str); 

    for(String str:b){ 
    set.add(str); 

    list.addAll(set); 
    String[] c = list.toArray(a); 
    for(String str:c){ 
    System.out.println(str); 
    }[/align]
      

  13.   

    hehe ,我总结一下:public static void main(String[] args) { String array1[]={"1","2","3"};
    String array2[]={"2","3","4"};

    Set<String> set = new TreeSet<String>();

    for(String s : array1)
    set.add(s);
    for(String s : array2)
    set.add(s);
    //set.addAll(Arrays.asList(array1));
    //set.addAll(Arrays.asList(array2));

    String[] result = set.toArray(new String[set.size()]); System.out.println(Arrays.toString(result));
    }
      

  14.   

    用hashset就可以吧...然后放回List调用collections.sort
      

  15.   

    import java.util.*;
    public class qdb
    {
    public static TreeSet method(String[] s1,String[] s2)
    {
    TreeSet ts1=new TreeSet(Arrays.asList(s1));
    TreeSet ts2=new TreeSet(Arrays.asList(s2));
    ts1.addAll(ts2);
    return ts1;
    }
    public static void main(String[] args)
    {
    System.out.println(method(new String[]{"1","2","3"},new String[]{"2","3","4"}));
    }
    }
    TreeSet不是会实现自动升序嘛,想降的话就调用下 Collections.reverse();