fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.text.ParseException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.ArrayList;
  9. import java.util.Arrays;
  10. import java.util.Date;
  11. import java.util.List;
  12. import java.util.stream.Collectors;
  13.  
  14. class Pessoa {
  15.  
  16. private String nome;
  17. private Date data_nasc;
  18.  
  19. public String getNome() {
  20. return nome;
  21. }
  22.  
  23. public void setNome(String nome) {
  24. this.nome = nome;
  25. }
  26.  
  27. public Date getData_nasc() {
  28. return data_nasc;
  29. }
  30.  
  31. public void setData_nasc(Date data_nasc) {
  32. this.data_nasc = data_nasc;
  33. }
  34.  
  35. @Override
  36. public String toString() {
  37. return "Pessoa [nome=" + nome + ", data_nasc=" + data_nasc + "]";
  38. }
  39. }
  40. class Ideone
  41. {
  42. public static Date stringParaData(String data) throws ParseException
  43. {
  44. SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
  45. Date d = df.parse(data);
  46. return d;
  47. }
  48. public static void main (String[] args) throws java.lang.Exception
  49. {
  50. List<Pessoa> pessoas = new ArrayList<>();
  51.  
  52. Pessoa p1 = new Pessoa();
  53. p1.setNome("Alex");
  54. p1.setData_nasc(stringParaData("1988/06/07"));
  55. pessoas.add(p1);
  56.  
  57. Pessoa p2 = new Pessoa();
  58. p2.setNome("Maria");
  59. p2.setData_nasc(stringParaData("1991/05/12"));
  60. pessoas.add(p2);
  61.  
  62. Pessoa p3 = new Pessoa();
  63. p3.setNome("Joao");
  64. p3.setData_nasc(stringParaData("1970/07/16"));
  65. pessoas.add(p3);
  66.  
  67. Pessoa p4 = new Pessoa();
  68. p4.setNome("Jose");
  69. p4.setData_nasc(stringParaData("1981/09/06"));
  70. pessoas.add(p4);
  71.  
  72. Pessoa p5 = new Pessoa();
  73. p5.setNome("Paulo");
  74. p5.setData_nasc(stringParaData("1998/07/16"));
  75. pessoas.add(p5);
  76.  
  77. Pessoa p6 = new Pessoa();
  78. p6.setNome("Rose");
  79. p6.setData_nasc(stringParaData("1998/07/16"));
  80. pessoas.add(p6);
  81.  
  82. //Busca por data...
  83.  
  84. Date d = stringParaData("1998/07/16");
  85. List<Pessoa> collect = pessoas.stream()
  86. .filter(f -> f.getData_nasc() != null && f.getData_nasc().equals(d))
  87. .collect(Collectors.toList());
  88.  
  89.  
  90. collect.forEach(x -> System.out.println(x));
  91. }
  92. }
Success #stdin #stdout 0.29s 35860KB
stdin
Standard input is empty
stdout
Pessoa [nome=Paulo, data_nasc=Thu Jul 16 00:00:00 GMT 1998]
Pessoa [nome=Rose, data_nasc=Thu Jul 16 00:00:00 GMT 1998]