Método que receba e retorne a uniao arrays ordenados

Pessoal estou tentando criar um metodo que receba dois arrays inteiros ordenados, e retorne a uniao desses dois arrays tbm ordenado.

Alguem pode dar um exemplo de como posso fazer?

Obrigado.

ai …

fiz agora… mas ficou legal…

	public byte[] join(byte[] a, byte[] b) {
		byte[] retorno = new byte[a.length + b.length];
		System.arraycopy(a, 0, retorno, 0, a.length);
		System.arraycopy(b, 0, retorno, a.length, b.length);
		return retorno;
	}

valeu…

[quote=nbluis]ai …

fiz agora… mas ficou legal…

	public byte[] join(byte[] a, byte[] b) {
		byte[] retorno = new byte[a.length + b.length];
		System.arraycopy(a, 0, retorno, 0, a.length);
		System.arraycopy(b, 0, retorno, a.length, b.length);
		return retorno;
	}

valeu…[/quote]

ei nbluis qual parte do codigo esta ordenando a uniao dos dois arrays?
valew
[]

um… desculpe, não ordenei os arrays…
ta certo…
mas você pode ordenar agora o array final que ja tem a união dos arrays…

[quote=nbluis]um… desculpe, não ordenei os arrays…
ta certo…
mas você pode ordenar agora o array final que ja tem a união dos arrays…[/quote]

consegui… valew pela atenção…

Se você quer a união, você quer os elementos iguais repetidos ou não?
Se você quiser que não se repitam, então você pode usar um SortedSet como intermediário. Algo como:

import java.util.*;

class UniaoArrays {
    public static void main(String[] args) {
        // Note que os elementos 11 e 25 existem em ambas as seqüências.
        Integer[] a = {2, 3, 5, 7, 11, 13, 17, 19, 23, 25};
        Integer[] b = {1, 4, 9, 11, 16, 25, 36, 49};
        SortedSet<Integer> ss = new TreeSet<Integer>();
        ss.addAll (Arrays.asList (a)); 
        ss.addAll (Arrays.asList (b));
        Integer[] c = ss.toArray (new Integer[0]);
        //-- Para imprimir o array, a maneira mais fácil é:
        System.out.println (Arrays.asList (c));
        // Deve imprimir:
        // [1, 2, 3, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 36, 49]
    }
}

[quote=thingol]Se você quer a união, você quer os elementos iguais repetidos ou não?
Se você quiser que não se repitam, então você pode usar um SortedSet como intermediário. Algo como:

import java.util.*;

class UniaoArrays {
    public static void main(String[] args) {
        // Note que os elementos 11 e 25 existem em ambas as seqüências.
        Integer[] a = {2, 3, 5, 7, 11, 13, 17, 19, 23, 25};
        Integer[] b = {1, 4, 9, 11, 16, 25, 36, 49};
        SortedSet<Integer> ss = new TreeSet<Integer>();
        ss.addAll (Arrays.asList (a)); 
        ss.addAll (Arrays.asList (b));
        Integer[] c = ss.toArray (new Integer[0]);
        //-- Para imprimir o array, a maneira mais fácil é:
        System.out.println (Arrays.asList (c));
        // Deve imprimir:
        // [1, 2, 3, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 36, 49]
    }
}

[/quote]

obrigado thingol… era exatamente o que estava tentando fazer…

[quote=thingol]Se você quer a união, você quer os elementos iguais repetidos ou não?
Se você quiser que não se repitam, então você pode usar um SortedSet como intermediário. Algo como:

import java.util.*;

class UniaoArrays {
    public static void main(String[] args) {
        // Note que os elementos 11 e 25 existem em ambas as seqüências.
        Integer[] a = {2, 3, 5, 7, 11, 13, 17, 19, 23, 25};
        Integer[] b = {1, 4, 9, 11, 16, 25, 36, 49};
        SortedSet<Integer> ss = new TreeSet<Integer>();
        ss.addAll (Arrays.asList (a)); 
        ss.addAll (Arrays.asList (b));
        Integer[] c = ss.toArray (new Integer[0]);
        //-- Para imprimir o array, a maneira mais fácil é:
        System.out.println (Arrays.asList (c));
        // Deve imprimir:
        // [1, 2, 3, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 36, 49]
    }
}

[/quote]

obrigado thingol… era exatamente o que estava tentando fazer…