Stream api - amresh087/newronaRepos GitHub Wiki
Java Stream --> If you want process object from the collection then we should go for stream.
package com.amresh.functional;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class StreamApi {
public static void main(String[] args) {
List<Integer> l = new ArrayList<>();
l.add(0);
l.add(10);
l.add(20);
l.add(5);
l.add(15);
l.add(25);
System.out.println(l);
// if my requriment even number add in another list
// without stream api untill 1.7
List<Integer> l1 = new ArrayList<>();
for (Integer i : l) {
if (i % 2 == 0) {
l1.add(i);
}
}
System.out.println(l1);
// with stream api till 1.8
List<Integer> l2 = l.stream().filter(i -> i % 2 == 0).collect(Collectors.toList());
System.out.println(l2);
}
}
package com.alight.functional;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class StreamApi {
public static void main(String[] args) {
List<Integer> l = new ArrayList<>();
l.add(0);
l.add(10);
l.add(20);
l.add(5);
l.add(15);
l.add(25);
System.out.println(l);
// if my requriment even number add in another list
// without stream api untill 1.7
List<Integer> l1 = new ArrayList<>();
for (Integer i : l) {
l1.add(i*2);
}
System.out.println(l1);
// with stream api till 1.8
List<Integer> l2 = l.stream().map(i->2*i).collect(Collectors.toList());
System.out.println(l2);
}
}
stream() is present in java.util.Collection interface and this introduce in java 1.8
filter(Predicate t) its take Boolean condition
map(Function<T,R> t) Every element present in collection if we want create equivalent object and doing some operation
-
collect()
-
count()
-
sorted(),sorted(Comprartor c)
-
min(Comprartor c)
-
max(Comprartor c)
-
forEach() --> In this method is pass lamda expression
-
toArray() if we want copy collection elements in array
Stream concept also can use on group of data or Array data that for on method called Stream.of(T t)
List<Activity> activities = activitiesFactory.getActivities("data");
in java 1.7
for(int index =0 ;index < activities.size(); index++)
{
Activity activity = activities.get(index);
try {
if(activity != null && !activity.execute(context))
{
break;
}
} catch (Exception e) {
if(StringUtils.isNotBlank(e.getMessage()) && e.getMessage().contains("Unauthorized or forbidden access")){
context.set("LoginAgain",true);
index = 0;
}else{
throw e;
}
}
}
in java 1.8
activities.stream().filter(activity -> {
try {
return activity!=null && !activity.execute(context);
} catch (Exception e) {
if(StringUtils.isNotBlank(e.getMessage()) && e.getMessage().contains("Unauthorized or forbidden access"))
context.set("LoginAgain",true);
else
try {throw e;} catch (Exception e1) {e1.printStackTrace();}
}
return false;
} ).findFirst();
in java 1.7
Builder builder =new JWTClaimsSet.Builder().expirationTime());
Map<String, Object> mdata = obj.getMapData();
for(String key : mdata.keySet()){
builder.claim(key, mdata.get(key));
}
in java 1.8
Builder builder =new JWTClaimsSet.Builder().expirationTime());
obj.getMapData().forEach((key,value) -> {builder.claim(key, obj.getMapData().get(key));});