diff --git a/src/main/java/com/github/hcsp/collection/Main.java b/src/main/java/com/github/hcsp/collection/Main.java index ae0f842..900e80c 100644 --- a/src/main/java/com/github/hcsp/collection/Main.java +++ b/src/main/java/com/github/hcsp/collection/Main.java @@ -1,12 +1,20 @@ package com.github.hcsp.collection; -import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.Arrays; +import java.util.Objects; public class Main { // 请编写一个方法,获得a和b集合中的公共元素。 - public static Set commonElementsIn(List a, List b) {} + public static Set commonElementsIn(List a, List b) { + Set set = new HashSet<>(); + set.addAll(a); + set.retainAll(b); + return set; + + } // Person类,如果两个Person对象的name相等,则认为这两个对象相等。 public static class Person { @@ -23,6 +31,23 @@ public String getName() { public void setName(String name) { this.name = name; } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Person person = (Person) o; + return Objects.equals(name, person.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } } public static void main(String[] args) { @@ -31,3 +56,4 @@ public static void main(String[] args) { System.out.println(commonElementsIn(list1, list2)); } } +