Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Introduction to Functional Programming Reduction and Aggregation Ranges

Ranges vs Limits?

Silly question.. what's the difference between using limits and ranges?

IntStream.rangeClosed(1,20)
                    .maptoObj(i->companies.get(i-1))
                    .forEach(System.out::println);

vs

companies.stream()
                    .map(Company::get)
                    .limit(20)
                    .collect(Collectors.toList());

I probably messed up the code somewhere and there and the return types probably aren't exactly the same but my basic question is... can the two forms be functionally equivalent? or is there a clear technical difference?

Best, Michael

1 Answer

Alexander Zola
Alexander Zola
9,027 Points

range and limit is different thing, thought its obvious, limit gets u first n-elements which matches condition, range gives u control in which range u want it, and obv its IntStream, not the Stream, so u can manipulate with ranges, numbers, u got it)