The snippets actually do the same thing, as long as you add a .findFirst() to the first example to make it valid Java code.
Intermediate stream operations like map or filter are always lazy. And .findFirst() is a short-circuiting terminal operation, that does not need to consume all stream elements.
with the benefit of being lazy and only inspecting list items up to the first one that matches (and if you don't mutate any data, easily parallelizable)
And with Locus maps you can use OpenAndroMaps [1] as a map source.
With their map styles [2] OpenAndroMaps are IMO the best hiking maps you can get. They even added very precise elevation data from LIDAR scans recently.
Locus also have a store where they sell offline maps very similar to OpenAndroMaps for very small amounts. Not sure if they include elevation data however.