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.
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…