fork download
  1. import java.util.*;
  2. import java.util.stream.*;
  3. import java.time.*;
  4. import java.time.format.*;
  5.  
  6. class AgentTask {
  7. private String startTime;
  8.  
  9. AgentTask(String startTime){
  10. this.startTime = startTime;
  11. }
  12. public String getStartTime(){
  13. return startTime;
  14. }
  15. @Override
  16. public String toString(){
  17. return startTime;
  18. }
  19.  
  20. }
  21.  
  22. class Ideone {
  23.  
  24. public static void main(String args[]) {
  25.  
  26. ArrayList<AgentTask> tasks = new ArrayList<>();
  27. tasks.add(new AgentTask("2020-03-10T13:12:01.702Z"));
  28. tasks.add(new AgentTask("2020-03-10T13:12:02.702Z"));
  29. tasks.add(new AgentTask("2020-03-10T13:12:03.702Z"));
  30. tasks.add(new AgentTask("2020-03-10T13:12:01.702Z"));
  31. tasks.add(new AgentTask("2020-03-10T13:12:00.702Z"));
  32.  
  33. AgentTask agentTask1 = tasks.stream().peek(System.out::println)
  34. .max((t1, t2) -> {
  35. LocalDateTime localDateTime1 = LocalDateTime.ofInstant(Instant.parse(t1.getStartTime()), ZoneId.of(ZoneOffset.UTC.getId()));
  36. LocalDateTime localDateTime2 = LocalDateTime.ofInstant(Instant.parse(t2.getStartTime()), ZoneId.of(ZoneOffset.UTC.getId()));
  37. return localDateTime1.compareTo(localDateTime2);
  38. }).get();
  39.  
  40. System.out.println("\n\nMAX:");
  41. System.out.println(agentTask1);
  42. }
  43. }
Success #stdin #stdout 0.09s 35176KB
stdin
Standard input is empty
stdout
2020-03-10T13:12:01.702Z
2020-03-10T13:12:02.702Z
2020-03-10T13:12:03.702Z
2020-03-10T13:12:01.702Z
2020-03-10T13:12:00.702Z


MAX:
2020-03-10T13:12:03.702Z