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: 649 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |