Java 8 - complex programs asked in interviews

package com.dpq.movie.ratings.datalayer.dao.impl;

import java.util.Arrays;

import java.util.List;

import java.util.stream.Collectors;

public class RatingDaoImpl {

publicstaticvoidmain(String[] args) {

List<String> names = Arrays.asList(“Deepak”,“Deepak”,“Kuhu”,“Kuhu”,“Garv”);

System.out.println(names.stream().collect(Collectors.toMap(k->k, v->1, Integer::sum)));

List<Student> student = Arrays.asList(new RatingDaoImpl().new Student(“Math”,98), 

new RatingDaoImpl().new Student(“Science”,98), new RatingDaoImpl().new Student(“English”,98),new RatingDaoImpl().new Student(“Hindi”,98));

System.out.println(student.stream().map(e->e.getMarks()).collect(Collectors.summingInt(e->e.intValue())));

List<StudentDetails> studentDetails = Arrays.asList(new RatingDaoImpl().new StudentDetails(“Deepak”,“Math”,98), 

new RatingDaoImpl().new StudentDetails(“Deepak”,“Science”,98), 

new RatingDaoImpl().new StudentDetails(“Deepak”,“English”,98),

new RatingDaoImpl().new StudentDetails(“Deepak”,“Hindi”,98),

new RatingDaoImpl().new StudentDetails(“Bobby”,“Math”,100), 

new RatingDaoImpl().new StudentDetails(“Bobby”,“Science”,100), 

new RatingDaoImpl().new StudentDetails(“Bobby”,“English”,100),

new RatingDaoImpl().new StudentDetails(“Bobby”,“Hindi”,98));

System.out.println(studentDetails.stream().collect(Collectors.toMap(k->k.getName(), k->k.getMarks(),Integer::sum)));

}

class StudentDetails{

privateString name;

privateString subject;

privateInteger marks;

public StudentDetails(String name,String subject, Integer marks) {

super();

this.name=name;

this.subject = subject;

this.marks = marks;

}

public String getSubject() {

return subject;

}

public Integer getMarks() {

returnmarks;

}

public String getName() {

returnname;

}

}

class Student{

privateString subject;

privateInteger marks;

public Student(String subject, Integer marks) {

super();

this.subject = subject;

this.marks = marks;

}

public String getSubject() {

return subject;

}

public Integer getMarks() {

returnmarks;

}

@Override

public String toString() {

return “Student [subject=” + subject + “, marks=” + marks + “]”;

}}}

Output:

{Kuhu=2, Deepak=2, Garv=1}

392

{Bobby=398, Deepak=392}

Popular posts from this blog

How to change column name in Dataframe and selection of few columns in Dataframe using Pyspark with example

What is Garbage collection in Spark and its impact and resolution

Credit Card Data Analysis using PySpark (how to use auto broadcast join after disabling it)