fork download
  1. import java.util.Arrays;
  2. import java.util.List;
  3. import java.util.Set;
  4. import java.util.HashSet;
  5.  
  6. public final class Main {
  7.  
  8. public static void main(final String[] argv) {
  9. final List<Object[]> raw = Arrays.asList(new Object[] {
  10. null, "abc@aaa.com", "ENG", "775778435", 1
  11. }, new Object[] {
  12. null, "abc@aaa.com", "ENG", "775778435", 1
  13. });
  14.  
  15. final Set<User> users = new HashSet<User>();
  16. for (final Object[] result : raw) {
  17. users.add(new User((String) result[0], (String) result[1],
  18. (String) result[2], (String) result[3], (Integer) result[4]));
  19. }
  20.  
  21. for (final User user : users) {
  22. System.out.println("non-duplicate: " + user.email());
  23. }
  24. }
  25. }
  26.  
  27. final class User {
  28.  
  29. private String firstName;
  30. private String email;
  31. private String language;
  32. private String productCode;
  33. private int status;
  34.  
  35. public User(String fName, String userId, String lang, String productCode, int status) {
  36. this.firstName = fName;
  37. this.email = userId;
  38. this.language = lang;
  39. this.productCode = productCode;
  40. this.status = status;
  41. }
  42.  
  43. public String firstName() {
  44. return firstName;
  45. }
  46.  
  47. public void setFirstName(String firstName) {
  48. this.firstName = firstName;
  49. }
  50.  
  51. public String email() {
  52. return email;
  53. }
  54.  
  55. public void setEmail(String email) {
  56. this.email = email;
  57. }
  58.  
  59. public String language() {
  60. return language;
  61. }
  62.  
  63. public void setLanguage(String language) {
  64. this.language = language;
  65. }
  66.  
  67. public String productCode() {
  68. return productCode;
  69. }
  70.  
  71. public void setProductCode(String productCode) {
  72. this.productCode = productCode;
  73. }
  74.  
  75. public int status() {
  76. return status;
  77. }
  78.  
  79. public void setStatus(int status) {
  80. this.status = status;
  81. }
  82.  
  83. @Override
  84. public int hashCode() {
  85. return (firstName == null ? 0 : firstName.hashCode())
  86. + (email == null ? 0 : email.hashCode())
  87. + (language == null ? 0 : language.hashCode())
  88. + (productCode == null ? 0 : productCode.hashCode())
  89. + status;
  90. }
  91.  
  92. @Override
  93. public boolean equals(Object obj) {
  94. if (obj instanceof User) {
  95. User temp = (User) obj;
  96.  
  97. return (firstName == temp.firstName || firstName != null && firstName.equalsIgnoreCase(temp.firstName))
  98. && email != null && temp.email != null && email.equalsIgnoreCase(temp.email)
  99. && language != null && temp.language != null && language.equalsIgnoreCase(temp.language)
  100. && productCode != null && temp.productCode != null && productCode.equalsIgnoreCase(temp.productCode)
  101. && status == temp.status;
  102. } else {
  103. return false;
  104. }
  105. }
  106. }
Success #stdin #stdout 0.07s 215552KB
stdin
Standard input is empty
stdout
non-duplicate: abc@aaa.com