Java: Beginner Guide to Stream API

a thread...

Streams are a way to perform operations on the whole collection of data.

Stream never modifies the source data, it processes it and gives us the result without modifying the original data.
Let's see few popular ways to create stream:

1. Collection. stream()
2. Stream.of(T... values)
3. Arrays. stream()
4. Stream.builder()

Eg:️
Consider stream as a pipeline, where we perform mainly two different operations on the source data:

1. Intermediate Operations(IO)
2. Terminal Operations(TO)

Here's what the stream pipeline looks like:

Source -> Intermediate Operations -> Terminal Operations
Intermediate Operations(IO):

It returns another stream object, after this, we can either call another IO or TO.

Few methods in Stream API for Intermediate operations:
1. filter()
2. map()
3. sorted()

and many more...
Examples:

filter() - filters out the data based on any boolean condition - below we're filtering elements starting with the letter a.

map() - performs some given operation on the whole data set - below we're converting every element to upper case.
Terminal Operations(TO):

It's the last operation done on stream that's why it's called terminal.

This operation returns the final result.

Few methods in Stream API for Terminal operations:
1. collect()
2. count()
3. forEach()

and many more...
Examples:

collect() - collects the elements in the given collection as shown below in the first case it is returning data in the form of a list.

count() - counts the no of the element in the stream and returns in the form of long.
Remember:

A Single pipeline can have multiple Intermediate Operations.

And only a single Terminal Operations.

Eg:
Below, we've used two Intermediate Operations i.e. filter() and map() but only used single Terminal Operation i.e. count().

More from Vikas Rajput

You May Also Like

A THREAD ON @SarangSood

Decoded his way of analysis/logics for everyone to easily understand.

Have covered:
1. Analysis of volatility, how to foresee/signs.
2. Workbook
3. When to sell options
4. Diff category of days
5. How movement of option prices tell us what will happen

1. Keeps following volatility super closely.

Makes 7-8 different strategies to give him a sense of what's going on.

Whichever gives highest profit he trades in.


2. Theta falls when market moves.
Falls where market is headed towards not on our original position.


3. If you're an options seller then sell only when volatility is dropping, there is a high probability of you making the right trade and getting profit as a result

He believes in a market operator, if market mover sells volatility Sarang Sir joins him.


4. Theta decay vs Fall in vega

Sell when Vega is falling rather than for theta decay. You won't be trapped and higher probability of making profit.
1/“What would need to be true for you to….X”

Why is this the most powerful question you can ask when attempting to reach an agreement with another human being or organization?

A thread, co-written by @deanmbrody:


2/ First, “X” could be lots of things. Examples: What would need to be true for you to

- “Feel it's in our best interest for me to be CMO"
- “Feel that we’re in a good place as a company”
- “Feel that we’re on the same page”
- “Feel that we both got what we wanted from this deal

3/ Normally, we aren’t that direct. Example from startup/VC land:

Founders leave VC meetings thinking that every VC will invest, but they rarely do.

Worse over, the founders don’t know what they need to do in order to be fundable.

4/ So why should you ask the magic Q?

To get clarity.

You want to know where you stand, and what it takes to get what you want in a way that also gets them what they want.

It also holds them (mentally) accountable once the thing they need becomes true.

5/ Staying in the context of soliciting investors, the question is “what would need to be true for you to want to invest (or partner with us on this journey, etc)?”

Multiple responses to this question are likely to deliver a positive result.