Question:
Give a ArrayList
of Player
s - List<Player>
. Take a Player
POJO with String Name
, int age
, and int runs
. Build a list using list.add
.
Find the first player whose age is less than 30 and Runs greater than 5000 and print the name. or else print "No player selected for world cup"
POJO class:
public class Player {
String name;
int age;
int runs;
public Player(String name, int age, int runs) {
super();
this.name = name;
this.age = age;
this.runs = runs;
}
@Override
public String toString() {
return "Player [name=" + name + "]";
}
}
Logic:
List<Player> players = Arrays.asList(
new Player("Sachin",45,10252),
new Player("Virat",29,7000),
new Player("Dhoni",38,4000),
new Player("Yuvraj",29,5500)
);
List<Player> filtered = players.stream()
.filter(i -> i.runs > 5000 && i.age > 50)
.collect(Collectors.toList());
if(filtered == null) {
System.out.println("No Player selected for World Cup");
} else {
System.out.println(filtered);
}
here the if part is not executing, else is running fine for valid conditions