Pular para o conteúdo principal
Documentos
Palavras-chave JavaMatrizes JavaProgramação orientada a objetos em JavaManuseio de arquivos JavaIntrodução ao JavaNoções básicas da linguagem Java

Java Array mismatch()

O método Arrays.mismatch() em Java faz parte do pacote java.util e é usado para encontrar o primeiro índice no qual dois arrays diferem. Esse método é útil para comparar matrizes para determinar onde elas começam a ter elementos diferentes. Ele retorna o índice da primeira incompatibilidade ou -1 se as matrizes forem idênticas.

Uso

Arrays.mismatch() é normalmente usado quando você precisa comparar duas matrizes elemento por elemento para identificar o primeiro ponto de diferença. Ele suporta matrizes de todos os tipos primitivos, bem como matrizes de objetos.

Sintaxe

int mismatchIndex = Arrays.mismatch(array1, array2);
  • array1 e array2: As matrizes a serem comparadas.
  • mismatchIndex: O índice da primeira incompatibilidade, ou -1 se nenhuma incompatibilidade for encontrada.

Exemplos

Exemplo 1: Matrizes idênticas

import java.util.Arrays;

public class MismatchExample1 {
    public static void main(String[] args) {
        int[] array1 = {1, 2, 3, 4, 5};
        int[] array2 = {1, 2, 3, 4, 5};

        int mismatchIndex = Arrays.mismatch(array1, array2);
        System.out.println("Mismatch index: " + mismatchIndex);
    }
}

Neste exemplo, array1 e array2 são idênticos. O método Arrays.mismatch() retorna -1, indicando que não há incompatibilidades.

Exemplo 2: Matrizes diferentes

import java.util.Arrays;

public class MismatchExample2 {
    public static void main(String[] args) {
        String[] array1 = {"apple", "banana", "cherry"};
        String[] array2 = {"apple", "berry", "cherry"};

        int mismatchIndex = Arrays.mismatch(array1, array2);
        System.out.println("Mismatch index: " + mismatchIndex);
    }
}

Aqui, as matrizes diferem no índice 1, onde "banana" em array1 é diferente de "berry" em array2. O método Arrays.mismatch() retorna 1.

Exemplo 3: Matrizes de comprimentos diferentes

import java.util.Arrays;

public class MismatchExample3 {
    public static void main(String[] args) {
        char[] array1 = {'a', 'b', 'c'};
        char[] array2 = {'a', 'b'};

        int mismatchIndex = Arrays.mismatch(array1, array2);
        System.out.println("Mismatch index: " + mismatchIndex);
    }
}

Nesse caso, array1 é mais longo do que array2. O método retorna 2, que é o índice em que array2 termina e array1 tem um elemento adicional.

Dicas e práticas recomendadas

  • Segurança nula: Certifique-se de que nenhuma das matrizes seja nula antes de chamar Arrays.mismatch(), pois isso gerará um NullPointerException.
  • Comprimentos da matriz: Considere o comprimento de ambas as matrizes. Se os vetores tiverem comprimentos diferentes e nenhuma incompatibilidade for encontrada até o comprimento do vetor mais curto, o método retornará o comprimento do vetor mais curto.
  • Desempenho: o site Arrays.mismatch() pode ser mais eficiente do que a iteração manual em matrizes, especialmente em matrizes grandes.
  • Compatibilidade de tipo: Certifique-se de que as matrizes que estão sendo comparadas sejam do mesmo tipo, pois o método não realiza conversão de tipos.

Usando o site Arrays.mismatch(), os desenvolvedores podem determinar com eficiência o primeiro ponto de diferença entre duas matrizes, auxiliando nas tarefas de depuração e comparação de dados.

Learn Java Essentials

Desenvolva suas habilidades em Java desde o início e domine os conceitos de programação.
Comece a aprender de graça