Programa Java para verificar se um array contém um determinado valor

Neste programa, você aprenderá a verificar se um array contém um determinado valor em Java.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Arrays Java
  • Tipos de dados Java (primitivos)

Exemplo 1: Verifique se Int Array contém um determinado valor

 public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 3; boolean found = false; for (int n : num) ( if (n == toFind) ( found = true; break; ) ) if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Resultado

 3 é encontrado.

No programa acima, temos uma matriz de inteiros armazenados na variável num. Da mesma forma, o número a ser encontrado é armazenado em toFind.

Agora, usamos um loop for-each para iterar por todos os elementos de num e verificar individualmente se toFind é igual a n ou não.

Em caso afirmativo, definimos found para truee sair do loop. Caso contrário, passamos para a próxima iteração.

Exemplo 2: Verifique se uma matriz contém um determinado valor usando Stream

 import java.util.stream.IntStream; public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 7; boolean found = IntStream.of(num).anyMatch(n -> n == toFind); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Resultado

 7 não foi encontrado.

No programa acima, em vez de usar um loop for-each, convertemos o array em um IntStreame usamos seu anyMatch()método.

anyMatch()método recebe um predicado, uma expressão ou uma função que retorna um valor booleano. Em nosso caso, o predicado compara cada elemento n no fluxo com toFind e retorna trueou false.

Se algum dos elementos n retornar true, found será definido truecomo também.

Exemplo 3: Verifique se uma matriz contém um determinado valor para tipos não primitivos

 import java.util.Arrays; public class Contains ( public static void main(String() args) ( String() strings = ("One", "Two", "Three", "Four", "Five"); String toFind = "Four"; boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind)); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Resultado

 Quatro são encontrados.

No programa acima, usamos um tipo de dados não primitivo Stringe usamos Arrayso stream()método para primeiro convertê-lo em um fluxo e anyMatch()verificar se o array contém o valor fornecido paraFind.

Artigos interessantes...