Sunday, 8 December 2024

Java 8 Features - Steam API Filter | MAP | Sort methods examples

 package com.sk.demos;

import java.util.Arrays;

import java.util.Comparator;

import java.util.List;

import java.util.Optional;

import java.util.stream.Collectors;

public class StreamApiTesting {

    public static void main(String[] args) {

         List<String> list = Arrays.asList("sk", "kr", "ar", "an", "ch", "ra");

System.out.println("Stream api tesing for this list...." + list);

List<String> filterList = list.stream().filter(p -> p.equals("an")).collect(Collectors.toList());

System.out.println("using filter with stream api");

System.out.println(filterList);

System.out.println("========================");

                List<String> mapList = list.stream().map(i -> i.equals("sk") ? (String) "SureshK" : (String) i)

.collect(Collectors.toList());

System.out.println("using map with stream api");

System.out.println(mapList);

System.out.println("========================");

List<Student> listStd = Arrays.asList(new Student("ravi", 1, 60), new Student("suri", 2, 80),

new Student("kavi", 3, 90), new Student("mani", 4, 50), new Student("suvi", 5, 70));

Optional<Student> listStd1 = listStd.stream().max(Comparator.comparing(Student::getMarks));

System.out.println(listStd1.get());

// Sorting students by marks in ascending order

List<Student> sortedByMarksAsc = listStd.stream().sorted(Comparator.comparingInt(Student::getMarks))

.collect(Collectors.toList());

System.out.println("Students sorted by marks (ascending):" + sortedByMarksAsc);

List<Student> sortedByMarksDesc = listStd.stream()

.sorted((s1, s2) -> Integer.compare(s2.getMarks(), s1.getMarks())) // Reverse the order for descending

.collect(Collectors.toList());

System.out.println("Students sorted by marks (descending):" + sortedByMarksDesc);

}

}

Output:

===============

Stream api tesing for this list....[sk, kr, ar, an, ch, ra]

using filter with stream api

[an]

========================

using map with stream api

[SureshK, kr, ar, an, ch, ra]

========================

Student [studenName=kavi, studentId=3, marks=90]


Students sorted by marks (ascending):[Student [studenName=mani, studentId=4, marks=50], Student [studenName=ravi, studentId=1, marks=60], Student [studenName=suvi, studentId=5, marks=70], Student [studenName=suri, studentId=2, marks=80], Student [studenName=kavi, studentId=3, marks=90]]


Students sorted by marks (descending):[Student [studenName=kavi, studentId=3, marks=90], Student [studenName=suri, studentId=2, marks=80], Student [studenName=suvi, studentId=5, marks=70], Student [studenName=ravi, studentId=1, marks=60], Student [studenName=mani, studentId=4, marks=50]]

No comments:

Post a Comment