Программа Java для проверки, содержит ли массив заданное значение

В этой программе вы научитесь проверять, содержит ли массив заданное значение в Java.

Чтобы понять этот пример, вы должны знать следующие темы программирования Java:

  • Массивы Java
  • Типы данных Java (примитивные)

Пример 1. Проверьте, содержит ли Int Array заданное значение

 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."); ) )

Вывод

 3 найдено.

В приведенной выше программе у нас есть массив целых чисел, хранящийся в переменной num. Точно так же число, которое нужно найти, сохраняется в toFind.

Теперь мы используем цикл for-each для перебора всех элементов num и индивидуальной проверки, равно ли toFind n или нет.

Если да, мы устанавливаем найденное trueв цикл и выходим из него. Если нет, то переходим к следующей итерации.

Пример 2: проверьте, содержит ли массив заданное значение, используя 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."); ) )

Вывод

 7 не найден.

В приведенной выше программе вместо использования цикла for-each мы преобразовываем массив в объект IntStreamи используем его anyMatch()метод.

anyMatch()принимает предикат, выражение или функцию, возвращающую логическое значение. В нашем случае предикат сравнивает каждый элемент n в потоке с toFind и возвращает trueили false.

Если какой-либо из элементов n возвращается true, найденный также устанавливается в true.

Пример 3: проверьте, содержит ли массив заданное значение для непримитивных типов

 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."); ) )

Вывод

 Найдено четыре.

В приведенной выше программе, мы использовали тип данных , не примитивный Stringи используется Arrays«s stream()метод сначала преобразовать его в поток и anyMatch()проверить , если массив содержит заданное значение toFind.

Интересные статьи...