Если у вас есть стрим каких-то элементов и вам нужно найти первый элемент, это легко сделать с помощью метода findFirst.
Поиск первого элемента в стриме
Для нахождения первого элемента в стриме воспользуемся методом findFirst. Он вернёт объект типа Optional, на котором мы вызовем метод orElse(null) для того, чтобы извлечь хранящийся внутри его элемент (или значение null, если элемент отсутствует):
public static <T> T getFirstElementInStream(Stream<T> stream) { return stream .findFirst() .orElse(null); }
Проверим это на тестовых данных:
Исходный код
import java.util.Arrays; import java.util.List; import java.util.stream.Stream; public class GetFirstElementInStream { public static void main(String[] args) { List<String> ids = Arrays.asList("111", "222", "333", "444", "555", "666", "777"); System.out.println("Все элементы: " + ids); String firstElement = getFirstElementInStream(ids.stream()); System.out.println("Первый элемент: " + firstElement); } public static <T> T getFirstElementInStream(Stream<T> stream) { return stream .findFirst() .orElse(null); } }
Заключение
Поиск первого элемента в стриме легко осуществить с помощью метода findFirst().
Нахождение первого элемента в стриме