English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste programa, você aprenderá a verificar se um array contém um valor dado no Java
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 + " - Encontrado"); else System.out.println(toFind + " - Não encontrado"); } }
Quando o programa é executado, a saída é:
3 Encontrado
No programa acima, temos um array de inteiros armazenado na variável num. Da mesma forma, o número a ser encontrado está armazenado em toFind
Agora, usamos um loop foreach para percorrer todos os elementos do num e verificar se toFind é igual a n
Se for o caso, configuramos find como true e saímos do loop. Se não, passamos para a próxima iteração
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 + " - Encontrado"); else System.out.println(toFind + " - Não encontrado"); } }
Quando o programa é executado, a saída é:
7 Não encontrado
No programa acima, não usamos o loop foreach, mas convertimos o array em IntStream e usamos seu método anyMatch()
O método anyMatch() aceita um predicado, expressão ou função que retorna um valor booleano. Em nosso exemplo, o predicado compara cada elemento n do fluxo com toFind e retorna true ou false
Se qualquer elemento n retornar true, found também será configurado como true
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 + " - Encontrado"); else System.out.println(toFind + " - Não encontrado"); } }
Quando o programa é executado, a saída é:
Four - Encontrado
No programa acima, usamos o tipo de dados não primitivo String e usamos o método stream() da Arrays para primeiro convertê-lo em fluxo e usar anyMatch() para verificar se o array contém o valor fornecido toFind