Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. package main.java;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. public class Student {
  7. private int id;
  8. private String grade;
  9. private int age;
  10.  
  11. public Student(int id, String grade, int age){
  12. this.id = id;
  13. this.grade = grade;
  14. this.age = age;
  15. }
  16.  
  17. public int getId() {
  18. return id;
  19. }
  20. public void setId(int id) {
  21. this.id = id;
  22. }
  23. public String getGrade() {
  24. return grade;
  25. }
  26. public void setGrade(String grade) {
  27. this.grade = grade;
  28. }
  29. public int getAge() {
  30. return age;
  31. }
  32. public void setAge(int age) {
  33. this.age = age;
  34. }
  35.  
  36. // group student by grade and having max of age
  37. public static List<Student> getStudentsWithMaxAgeOfEachGrade(List<Student> students){
  38. ArrayList<Student> result = new ArrayList<>();
  39.  
  40. for(Student s : students){
  41. boolean found = false;
  42. for(Student rs : result){
  43. if(rs.getGrade().equals(s.getGrade()) && rs.getAge() < s.getAge()){
  44. found = true;
  45. result.remove(rs);
  46. result.add(s);
  47. break;
  48. }
  49. }
  50. if(found == false){
  51. result.add(s);
  52. }
  53. }
  54.  
  55. return result;
  56.  
  57. }
  58.  
  59. public static void main(String[] args) {
  60. List<Student> students = new ArrayList<>();
  61. Student s1 = new Student(1, "a", 32);
  62. Student s2 = new Student(2, "a", 34);
  63. Student s3 = new Student(3, "b", 23);
  64.  
  65. students.add(s1);
  66. students.add(s2);
  67. students.add(s3);
  68.  
  69. List<Student> result = getStudentsWithMaxAgeOfEachGrade(students);
  70.  
  71. for(Student s : result){
  72. System.out.println(s.getGrade() + ":" + s.getAge());
  73. }
  74. }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement