Ver*_*gen 2 java list duplicates hashset
我有一个Person包含的类String firstName, lastName.我想将此类的实例插入到a中List,但我不想插入重复项.
我如何使用HashSet它使用类似的东西firstName+lastName来找出重复?
biz*_*lop 10
你班上需要一个equals()和一个hashCode()方法Person.
equals()很简单,hashCode()最简单的解决方案是:
public int hashCode() {
return Arrays.hashCode( new Object[] { firstName, lastName } );
}
Run Code Online (Sandbox Code Playgroud)
虽然如果你的Person对象是不可变的(因为它应该是,如果你把它放在一个HashSet中),你应该缓存这个值.