Você está aqui: Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar a diferença entre dois arrays usando o método Arrays.stream() do JavaQuantidade de visualizações: 829 vezes |
|
Nesta dica mostrarei como podemos usar as streams do Java para obter e retornar a diferença entre dois vetores de inteiros. Para isso nós usaremos alguns métodos da classe Stream, tais como filter(), collect() e um objeto da classe Set. Veja o código Java completo para o exemplo:
package estudos;
import java.util.Arrays;
import java.util.Set;
import java.util.stream.Collectors;
public class Estudos{
public static void main(String args[]){
// vamos criar dois vetores de inteiros
int a[] = {1, 2, 3, 4, 5};
int b[] = {2, 3, 7, 8, 9};
// vamos exibir os dois vetores
System.out.println("Primeiro vetor: " + Arrays.toString(a));
System.out.println("Segundo vetor: " + Arrays.toString(b));
// vamos retornar a diferença entre o vetor a e o vetor b
int c[] = diferenca(a, b);
System.out.println("Vetor diferença a e b: " + Arrays.toString(c));
}
// método que recebe dois arrays e retorna a diferença entre o primeiro
// e o segundo
public static int[] diferenca(int[] primeiro, int[] segundo) {
Set set = Arrays.stream(segundo).boxed().collect(Collectors.toSet());
return Arrays.stream(primeiro)
.filter(v -> !set.contains(v))
.toArray();
}
}
Ao executar este código Java nós teremos o seguinte resultado: Primeiro vetor: [1, 2, 3, 4, 5] Segundo vetor: [2, 3, 7, 8, 9] Vetor diferença a e b: [1, 4, 5] |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
C# - Como detectar a mudança de estado da CheckBox do C# Windows Forms usando o evento CheckedChanged PHP - Programação Orientada a Objetos em PHP - Como passar um objeto de uma classe para uma função PHP |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




