Gou*_*mar 0 java collections set hashcode hashset
我只是想从列表中删除重复的元素.为此,我写了一个POJO类Student:
class Student{
private String roll;
private String name;
public Student(String roll, String name) {
this.roll = roll;
this.name = name;
}
@Override
public boolean equals(Object obj) {
Student st = (Student) obj;
return st.getRoll().equals(roll);
}
public String getRoll() {
return roll;
}
public void setRoll(String roll) {
this.roll = roll;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return roll ;
}
}
Run Code Online (Sandbox Code Playgroud)
测试类如下:
public class TestMain {
public static void main(String[] args) {
List<Student> list = Arrays.asList(
new Student("19", "goutam kumar singh"),
new Student("20", "goutam kumar singh"),
new Student("11", "goutam kumar singh"),
new Student("19", "goutam kumar singh")
);
List<Student> arrayList = new CopyOnWriteArrayList<>(list);
Set<Student> set = new HashSet<>();
for(Student st : arrayList)
set.add(st);
System.out.println(set);
}
}
Run Code Online (Sandbox Code Playgroud)
但在输出中集合中的所有四个元素,但我期望只有三个元素作为第四个元素是重复的,必须删除.
我哪里错了?
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |